AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Entf-Taste in mehreren Komponenten?

Ein Thema von OrNEC · begonnen am 4. Jul 2014 · letzter Beitrag vom 7. Jul 2014
Antwort Antwort
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: Entf-Taste in mehreren Komponenten?

  Alt 5. Jul 2014, 07:20
Der 'Sarkasmus' war zu allgemein, Sir Rufo. Deinen Beitrag betrifft das nicht, und da Du dich bei meinem Rundumschlag angesprochen fühlen musstest, entschuldige ich mich.

PS: Den Beitrag habe ich gelesen, nur keinen Code. Und mutmaßen tue ich nicht, hätte ich aber können.
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Entf-Taste in mehreren Komponenten?

  Alt 5. Jul 2014, 11:34
Die Entf-Taste habe ich einem (Delete)MenuItem per ShortCut zugewiesen.
Was ich aber jetzt machen soll, um mein Problem zu lösen, ist mir noch nicht ganz glasklar... aber ich denke noch nach...
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Entf-Taste in mehreren Komponenten?

  Alt 5. Jul 2014, 16:52
Der Delete-Shortcut bezog sich dann ja vmtl. auf die ListView um dort ein entsprechendes Element rauszulöschen. Also müsstest du im KeyDown, KeyPress oder KeyUp der Form einfach nur auswerten, ob die ListView Komponente gerade den Fokus hat und dann entsprechend das selektierte / die selektieren Element(e) rauslöschen/entfernen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.554 Beiträge
 
Delphi 12 Athens
 
#4

AW: Entf-Taste in mehreren Komponenten?

  Alt 5. Jul 2014, 17:20
Die Entf-Taste habe ich einem (Delete)MenuItem per ShortCut zugewiesen.
Es gibt wichtige Informationen, die sollte man doch mal im Ausgangspost mit erwähnen.

Und was für ein Menü denn nun?
Hauptmenü oder Kontextmenü nur an der ListBox?

Menüs sind sogar noch globaler, als KeyPreview, da sie noch davor behandelt werden.

Aber jetzt rate mal, warum solche ShortCuts normaler Weise noch ein Strg oder Alt mit drin haben.
> Damit sie nicht einfach so z.B. mit irgendeiner Textbehandlung kollidieren.

Tja, und ShortCuts des Hauptmenüs haben halt vorrang vor Allem.

Entweder der Menüeintrag kommt da hin, wo er sich auswirken soll (z.B. ins passende Kontextmenü)
oder du deaktivierst einfach den Eintrag, wenn er nicht arbeiten soll.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Entf-Taste in mehreren Komponenten?

  Alt 5. Jul 2014, 18:05
Und was für ein Menü denn nun?
Hauptmenü oder Kontextmenü nur an der ListBox?
In beiden Menüs.

Entweder der Menüeintrag kommt da hin, wo er sich auswirken soll (z.B. ins passende Kontextmenü)
oder du deaktivierst einfach den Eintrag, wenn er nicht arbeiten soll.
ahm... wie bitte? Kapiere ich nicht.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Entf-Taste in mehreren Komponenten?

  Alt 6. Jul 2014, 09:19
Entweder der Menüeintrag kommt da hin, wo er sich auswirken soll (z.B. ins passende Kontextmenü)
oder du deaktivierst einfach den Eintrag, wenn er nicht arbeiten soll.
ahm... wie bitte? Kapiere ich nicht.
Was daran ist unverständlich?

Vielleicht wäre es gut wenn Du Dir einmal die Mühe machen könntest zu beschreiben was Du hast, und was Du erreichen willst. Immer nur Informationsbröckchen zu versenden ist auf Dauer nicht so befriedigend.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Entf-Taste in mehreren Komponenten?

  Alt 6. Jul 2014, 17:14
OK, also so sieht es bei mir aus. Ich habe in meiner Anwendung unter anderem ein EditFeld (was als Suchfeld agiert), ein ListView, ein MainMenu und ein Popupmenu. In beiden Menüs ist ein MenuItem namens Löschen, diesen wird per ShortCut die ENTF-Taste zugewiesen. Nun das Problem, wenn ich in dem Edit was eingebe und gewisse Zeichen mit ENTF entfernen möchte springt die Funktion zum löschen eines Eintrages in ListView an, da ein MenuItem auf die ENTF-Taste reagiert hat. Nun die Frage wie kann die ENTF-Taste im EditFeld Zeichen löschen und im ListView die Einträge löschen, also so, dass sie voneinander nichts wissen?

Hier noch mal meine Einstellungen:

Form->KeyPreview: True
MainMenu->MenuItem->ShortCut: Entf
PopupMenu->MenuItem->ShortCut: Entf

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.375 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Entf-Taste in mehreren Komponenten?

  Alt 7. Jul 2014, 08:37
Es gibt mehrere Lösungsansätze. Einige wurden schon beschrieben.
  • Sinnvolle ShortCuts. Z.B. Strg+Entf
  • Prüfen, ob das ListView überhaupt den Focus hat
  • Das "Entf" nicht "global" behandeln
Ein weiterer Vorschlag von mir:
Man kann Menüpunkte auch deaktivieren. Sollte das ListView den Focus bekommen, kann man die Menüpunkte aktivieren (Enabled := True). Dann reagiert das "Entf" korrekt. Sobald das ListView den Focus verliert, müssen die Menüpunkte deaktiviert werden (Enabled := False).
Eine TActionList kann da hilfreich sein. Zu jeder Action gibt es Ereignis on Update. Dort kann man die entsprechende Action En-/Disablen, was sich bei korrekter Zuordnung in den Menüs entsprechend auswirkt.

Viele Wege führen nach Rom. Was der richtige Ansatz für dieses Problem ist, muss der TE selbst entscheiden.

EDIT:
Wozu eigentlich das KeyPreview der Form? Ich habe das Gefühl, dass das hier eigentlich nur stört.
Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz