Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Entf-Taste in mehreren Komponenten? (https://www.delphipraxis.net/180982-entf-taste-mehreren-komponenten.html)

OrNEC 5. Jul 2014 18:05

AW: Entf-Taste in mehreren Komponenten?
 
Zitat:

Zitat von himitsu (Beitrag 1264555)
Und was für ein Menü denn nun?
Hauptmenü oder Kontextmenü nur an der ListBox?

In beiden Menüs.

Zitat:

Zitat von himitsu (Beitrag 1264555)
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.

:gruebel: ahm... wie bitte? Kapiere ich nicht.

p80286 6. Jul 2014 09:19

AW: Entf-Taste in mehreren Komponenten?
 
Zitat:

Zitat von OrNEC (Beitrag 1264559)
Zitat:

Zitat von himitsu (Beitrag 1264555)
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.

:gruebel: 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

OrNEC 6. Jul 2014 17:14

AW: Entf-Taste in mehreren Komponenten?
 
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!

Jasocul 7. Jul 2014 08:37

AW: Entf-Taste in mehreren Komponenten?
 
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.
Seite 2 von 2     12   

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