Autor Beitrag
sunspeed
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99

Win 95, Win 98,WinME,W2k Win XP
Delphi 4 Pers,Delphi 7 Prof, Delphi 2005 Arch, VS 2003, VS 2005, C#
BeitragVerfasst: Di 04.10.05 14:52 
Guten Tag liebe DF´ler

ich möchte mit meiner Anwendung darauf reagieren, wenn jemand die Taste
ESC drückt. Jede andere Taste is mir egal, mir gehts nur um die Escape Taste.

Ich hab in der Windowsdoku eine Message gefunden die wie ich glaube dafür geeignet wäre.

ausblenden Delphi-Quelltext
1:
 procedure wmKeyUp(var m:TWMKeyUp); message WM_KEYUP;					


Allerdings, kann ich mir da einen Wolf auf der Tastatur drücken, es entsteht keine
reaktion auf das Drücken von Esc.

Weiß da jemand von euch was ich hier falsch mache?

Gruß Sunspeed


Moderiert von user profile iconGausi: Topic aus Windows API verschoben am Mi 05.10.2005 um 08:53

_________________
Tiefe Brunnen muss man graben, wenn man klares Wasser will.
Tiefe Wasser sind nicht still!
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Di 04.10.05 15:36 
Das Problem ist glaube ich der Fokus, da die meisten Steuerelemente diese Tasten bereits filtern.

Wieso klinktst du dich nicht in das KeyPress des Forms ein?
sunspeed Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99

Win 95, Win 98,WinME,W2k Win XP
Delphi 4 Pers,Delphi 7 Prof, Delphi 2005 Arch, VS 2003, VS 2005, C#
BeitragVerfasst: Mi 05.10.05 07:19 
Das Problem das ich dabei hatte war, wenn ich in ein Edit auf dem Form klicke,
dann hat das Mainform den focus verloren und er liegt auf dem Edit.
D.h. ich müsste für jede Komponente auf dem Formular ein onKeyPress ereignis erzeugen.
Tja, es scheint mir so, als ob das keine leichte Sache ist.
Ich hab bei Google nix gefunden, in der Delphi bzw. Microsoft SDK Hilfe nix,
ausser auf die WM_KEYUP Message, aber auf die reagiert mein Programm nicht.

_________________
Tiefe Brunnen muss man graben, wenn man klares Wasser will.
Tiefe Wasser sind nicht still!
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 05.10.05 07:51 
Stell mal in der Form KeyPreview auf True, und nimm das OnKeyPress Event der Form. Dann klappts ;-)

Und das hat dann ja auch nix mehr mit WinApi zu tun, oder? *veschieb*

_________________
We are, we were and will not be.
sunspeed Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99

Win 95, Win 98,WinME,W2k Win XP
Delphi 4 Pers,Delphi 7 Prof, Delphi 2005 Arch, VS 2003, VS 2005, C#
BeitragVerfasst: Mi 05.10.05 07:56 
Ok, bin voll damit einverstanden den Topic zu verschieben.
Vielen dank, das funktioniert einwandfrei.

Gruß Sunspeed

_________________
Tiefe Brunnen muss man graben, wenn man klares Wasser will.
Tiefe Wasser sind nicht still!
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 05.10.05 12:13 
Auch wenn es sich schon erledigt hat, du müsstest nciht so viele Przeduren schreiben, es würde reichen eine Prozedur ztu schreiben und diese allen Komponenten zu verklickern ;)
sunspeed Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 99

Win 95, Win 98,WinME,W2k Win XP
Delphi 4 Pers,Delphi 7 Prof, Delphi 2005 Arch, VS 2003, VS 2005, C#
BeitragVerfasst: Mi 05.10.05 12:17 
Klar, möglich wär das alles mit sicherheit, aber naja, ich halte nix davon. Meiner Meinung nach wäre das keine saubere Programmierweise. Wie es andere Programmierer machen weiß ich nicht, aber mir wiederstrebt die Art, solch ein Problem auf diese Art zu lösen.
Wie man sieht, gibts für jedes Problem auch eine einfache(re) Lösung.

Trotzdem Danke.

mfg
Sunspeed

_________________
Tiefe Brunnen muss man graben, wenn man klares Wasser will.
Tiefe Wasser sind nicht still!