Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TAction-ShortCut VS. DBGrid-KeyDown
Fienix - Mi 18.05.11 13:49
Titel: TAction-ShortCut VS. DBGrid-KeyDown
Hallo,
ich habe ein DBGrid, bei einer bestimmten Tastenkombi lass ich mir ein Dialog anzeigen, mit Show.
Dieser Dialog hat eine ActionList mit einer TAction mit der gleichen Tastenkombi wie mein DBGrid.
Wenn ich den Dialog mit mrOk verlasse, rückt dieser in den Hintergrund.
Drück ich jetzt meine Tastenkombi so wird die Action von meinem Dialog aufgerufen!?
KeyPreview hab ich meinem Dialog auch ausgeschalten.
Jemand eine Idee wie ich das unterbinden kann?
Tranx - Mi 18.05.11 15:27
Wenn ich das richtig verstehe, macht das Programm ja genau das, was Du vorgibst. Die Tastenkombination ruft beim fokussierten TDBGrid den Dialog auf. Der ist nun focussiert und hat seinerseits die gleiche Tastenkombination belegt, um eine Action aufzurufen.
Um das zu unterbinden, musst Du eben zwei Tastenkombinationen belegen. Eine für TDBGrid und für den Dialog für die TAction eine andere Kombination (Meinetwegen für TDBGrid SHIFT+D und für TAction CTRL+D oder ähnliches).
Oder sehe ich das etwa verkehrt?
Wenn Du bei Dialog die TAction nicht abrufen willst, warum hast Du dann dem TAction einen Shortcut zugeordnet?
Fienix - Mi 18.05.11 16:25
Der Dialog ist ja eben nicht mehr sichtbar, sondern mit Hide ausgeblendet.
zuma - Mi 18.05.11 16:30
du brauchst doch bei der action nur wissen, ob das grid oder der dialog den focus hat
und schon kannste steuern, ob und welche action ausgeführt werden soll.
Fienix - Mi 18.05.11 16:36
Genau das geht eben nicht weil mein Dialog die Action ausführt obwohl er nicht sichtbar ist.
Beim Grid, das ja den Focus hat kommt die Eingabe garnicht erst an.
Und den Shortcut dann wieder an das Grid weitergeben find ich etwas übertrieben.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!