Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Memo OnKeyDown + VK_TAB (https://www.delphipraxis.net/160221-memo-onkeydown-vk_tab.html)

-187- 3. Mai 2011 12:32

Memo OnKeyDown + VK_TAB
 
Moin ;)

Wie kann ich im OnKeyDown vom Memo den "Tab Tastendruck" abfangen?

Das klappt nicht:
Delphi-Quellcode:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=VK_TAB then
  begin
    Showmessage('test');
  end;
end;

rollstuhlfahrer 3. Mai 2011 12:41

AW: Memo OnKeyDown + VK_TAB
 
Mit TAB kann man von einem Control zum nächsten springen. Du musst also zuerst dem Memo sagen, dass man überhaupt TABs eingeben kann (WantTabs := true) und dann kannst du die TABs auch wieder abfangen.

Bernhard

himitsu 3. Mai 2011 12:41

AW: Memo OnKeyDown + VK_TAB
 
Tja, da hast du ein Problem, denn der Tab wird nicht vom Memo, sondern von der Dialog-Behandlung der VCL verarbeitet/abgefangen.
Also da, wo die Interaktionen zwischen den Formkomponenten behandelt werden.

Im OnMessage von Application könnte man es versuchen, also bevor die DialogKeya dort verrbeitet werden.
Ob man da jetzt woanders auch noch rechtzeitig und "kompfortabel" rankommt, fällt mir jetzt, so auf die Schnelle, nicht ein.

[edit]
WantTabs klingt besser.

-187- 3. Mai 2011 12:55

AW: Memo OnKeyDown + VK_TAB
 
@rollstuhlfahrer, das bringt mir nichts. Damit kann ich den Tastendruck nicht abfangen.
WantTabs hat wohl nur was mit den Einrückungen zu tun :?::!:

Hmm Mist, und ich dachte es wäre einfacher ;)

rollstuhlfahrer 3. Mai 2011 13:01

AW: Memo OnKeyDown + VK_TAB
 
Dann bringt nur noch Form.KeyPreview := true und das abfangen in der Form was.

Bernhard

Lannes 3. Mai 2011 13:05

AW: Memo OnKeyDown + VK_TAB
 
Zitat:

Zitat von himitsu (Beitrag 1098550)
Ob man da jetzt woanders auch noch rechtzeitig und "kompfortabel" rankommt, fällt mir jetzt, so auf die Schnelle, nicht ein.

ich glaube Dir fällt das nicht ein, die Message CM_DIALOGKEY abfangen:
http://www.delphipraxis.net/523834-post6.html

-187- 3. Mai 2011 13:17

AW: Memo OnKeyDown + VK_TAB
 
Hey Lannes, saubere Sache! Dankeschön :thumb:


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf