Hi Leute,
Ich suche nach einem Ereignis, dass ausgelöst wird, wenn der Nutzer auf eine der Richtungstasten drückt (links / rechts / oben / unten). Ich habe ein Komponente(TCustomControl) implementiert und würde gern noch ne Tastatursteuerung dazu entwerfen; dazu brauch ich aber so ein Ereignis. Und das
Standart-OnKeyDown-Event wird bei mir nicht ausgelöst, wenn ich auf eine dieser Tasten drücke. Genauso wenig leider die Message WM_KEYDOWN.
Weiß jemand Rat?
Code:
(*--------------------------------------------------------*)
procedure TDSP3270.CursorLeft(speed: integer);
begin
DispCell(FCsrCol,FCsrRow,true) ;
FCsrCol := FCsrCol - speed ;
if FCsrCol <= 0 then
FCsrCol := FSCRCOLS ;
DrawCursor(FCsrCol,FCsrRow) ;
end;
(*--------------------------------------------------------*)
procedure TDSP3270.CursorRight(speed: integer);
begin
DispCell(FCsrCol,FCsrRow,true) ;
FCsrCol := FCsrCol + speed ;
if FCsrCol > FSCRCOLS then
FCsrCol := 1 ;
DrawCursor
(*--------------------------------------------------------*)
procedure TDSP3270.WMKeyDown(var Msg: TWMKeyDown);
var
First:boolean;
function Shift:boolean;
begin
result:=GetKeyState(VK_SHIFT) < 0;
end;
function Ctrl:boolean;
begin
result:=GetKeyState(VK_CONTROL) < 0;
end;
begin
case Msg.CharCode of
vk_Left : CursorLeft(601);
vk_right : CursorRight(600);
und so weiter…
(*--------------------------------------------------------*)
Danke im Vorraus
Peter Kiers