Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FormKeyDown fährt gegen die Wand... (https://www.delphipraxis.net/70452-formkeydown-faehrt-gegen-die-wand.html)

Andidreas 30. Mai 2006 15:28


FormKeyDown fährt gegen die Wand...
 
hi,

hab grad ein kleines problem...

ich würd gern über das formkeydown ereignis ein paar tasten abfragen und dann ein paar bestimmte aktionen ausführen...

doof is jetzt nur, das ich gar nicht in das formkeydown ereignis reinkomme... mein programm bekommt des gar net mit wenn ich ne taste drück :pale:

hier is mein source code vom formkeydown ereignis

Delphi-Quellcode:
procedure TMain_Form.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);

begin

  Case Key Of
    VK_F3 : bitbtn_exit.Click;
    VK_F5 : bitbtn_Load.Click;
  End;

end;
hat jemand ne ahnung wieso des net geht????
ich verzweifel langsam :wall:

Klaus01 30. Mai 2006 15:35

Re: FormKeyDown fährt gegen die Wand...
 
keyPreview auf true gesetzt ?

Grüße
Klaus

TurboMartin 30. Mai 2006 15:37

Re: FormKeyDown fährt gegen die Wand...
 
Also ich hab jetzt das noch nicht ausprobier, aber ich glaub das man das mit der Prozedur aufruft.
Kanns grad auch nicht ausprobieren, da Delphi auf diesem Rechner kaputt ist.
[edit]
Code:
Die Methode KeyDown ist eine als protected deklarierte Methode, die das Ereignis OnKeyDown eines Steuerelements implementiert.

procedure KeyDown(var Key: Word; Shift: TShiftState); dynamic;

Beschreibung

Die von TWinControl geerbte Methode KeyDown ruft lediglich die mit dem Ereignis OnKeyDown verbundene Behandlungsroutine auf. Sollen zusätzlich zu diesem Aufruf weitere Aktionen durchgeführt werden, überschreiben Sie KeyDown.
Der Parameter Key gibt die Taste an. Bei nicht alphanumerischen Tasten können Sie die gedrückte Taste mit den virtuellen Tastencodes der Windows-API feststellen. Weitere Informationen finden Sie in der Hilfedatei WIN32.HLP (Win32 Developer’s Reference) unter VkKeyScan und VkKeyScanEx.

Ein fensterorientiertes Steuerelement ruft KeyDown als Reaktion auf die Windows-Botschaft WM_KEYDOWN („Taste gedrückt“) auf. Der eigentliche Ablauf sieht so aus, daß die Botschaft zunächst an eine als private deklarierte Bearbeitungsroutine weitergegeben wird, die dann DoKeyDown aufruft. Stellt DoKeyDown fest, daß das Steuerelement das Zeichen bearbeiten soll, konvertiert sie die Botschaftsparameter und übergibt KeyDown den Tastencode und den Sondertastenstatus in den Parametern Key und Shift.

Die weitere Verarbeitung einer Taste kann verhindert werden, indem in der Methode KeyDown oder in der Ereignisbehandlungsroutine für OnKeyDown der Parameter Key auf Null gesetzt wird.
Der Parameter Shift gibt an, ob die Taste UMSCHALT, ALT oder STRG zusammen mit der betreffenden Taste gedrückt wurde. Shift ist eine Menge mit null, einem oder mehreren der folgenden Werten:

Status   Bedeutung

ssShift   Die UMSCHALT-Taste ist gedrückt.
ssAlt   Die Taste ALT ist gedrückt.
ssCtrl   Die Taste STRG ist gedrückt.
Hab ich grad in der D3-Hilfe gefunden. :mrgreen:
[/edit]

Andidreas 30. Mai 2006 15:42

Re: FormKeyDown fährt gegen die Wand...
 
Zitat:

Zitat von Klaus01
keyPreview auf true gesetzt ?

Grüße
Klaus

nein hatte ich nicht...
jetzt gehts :-D :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 Uhr.

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