Hallo Zusammen,
Diese Memo-Felder machen mich noch wahnsinnig!
Mit einer Ereignisbehandlungsroutine für WM_KEYDOWN kann man ja, bekanntermaßen,
, Tastaturereignisse abfangen und behandeln.
Das geht aber nur solange, wie kein Memo-Feld (Tmemo) auf der Form liegt, weil das offensichtlich, ungefragt, alle Messages abfängt.
Denn ohne Tmemo funktioniert untenstehende Behandlungsroutine einwandfrei, ist ein Tmemo da, tut sich mal gar nix.
Kann mir mal bitte jemand verraten, wo hier der Code begraben liegt?
Delphi-Quellcode:
TForm1 = class(TForm)
Memo1: TMemo;
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
....
procedure TForm1.WMKeyDown(var Message: TWMKeyDown);
begin
inherited;
case Message.CharCode of
VK_RETURN: // ENTER pressed
if (Message.KeyData and $1000000 <> 0) then
// Test bit 24 of lParam
ShowMessage('ENTER on numeric keypad')
else
ShowMessage('ENTER on Standard keyboard');
end;
end;
Freundliche Grüße
Marco