![]() |
Re: Keyrepeat abschalten
Zitat:
danke für den Tipp. Aber irgendwie stehe ich da auf dem Schlauch :oops: Wenn ich mir aus den Bits 0-15 von lParam ein Integer mache hat dieses immer den Wert 1.
Delphi-Quellcode:
procedure TDemo_Form.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean); var locCount : Integer; begin if Msg.message = WM_KEYDOWN then begin locCount := Msg.lParam AND $FFFF; Label1.Caption := IntToStr (loccount); end; end; |
Re: Keyrepeat abschalten
Zitat:
Windows optimiert hier mal zur Abwechslung etwas :shock:
Delphi-Quellcode:
und rechnet die letzten gleichen Nachrichten zusammen.
if Msg.message = WM_KEYDOWN then
begin locCount := Msg.lParam AND $FFFF; Label1.Caption := IntToStr (loccount); Sleep(500); end; [add] ich wollte grad vorschlagen eine Liste anzulegen, welche Tasten grad gedrückt sind und die aktiven Tasten dann bei den nächsten KeyDowns zu ignorieren. KeyDown in Liste eintragen | KeyUp wider daraus löschen usw. und zu Xong's Vorschlag ... es muß nicht immer nur eine Taste gleichzeiig gedrückt sein ... bei mehreren kommt das Programm so durcheinander, da so nicht geprüft wird welche Taste grad gemeint ist. aber schau dir mal Bit 30 in lParam an :shock: (grad noch so gesehn)
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin if Msg.message = WM_KEYDOWN then begin if Msg.lParam AND $40000000 = 0 then begin ... end; end; end; // und zum Testen if Msg.message = WM_KEYDOWN then begin locCount := Msg.lParam AND $40000000; Label1.Caption := IntToStr (loccount); end; Zitat:
|
Re: Keyrepeat abschalten
Kann man nicht auch einfach in der 'OnKeyPress' ein 'KeyUp' aufrufen?
Gruß Brighty |
Re: Keyrepeat abschalten
ja, aber nicht anwendungs-global
|
Re: Keyrepeat abschalten
Zitat:
das sieht doch sehr gut aus! Danke Dir :P |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
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 by Thomas Breitkreuz