“
var
LastKeyDownTime:TDateTime;
//...
proc cbMove(m:Integer); //控制移动 不具体实现
//...
proc Timer3_OnTimer(); //在按下左右键一段时间后 自动移动方块
begin
if Key=RightKey then cbMove(+cbWidth)
else cbMove(-cbWidth);
end;
proc App.OnMessage(Msg:TMessage);//响应信息
var
CurrentTime:TDateTime;
begin
if Msg.Message=WM_KeyDown then begin
if (Msg.wParam=LeftKey) or (Msg.wParam=RightKey) then begin
CurrentTime:=Now();
If (CurrentTime-LastKeyTime)<=持续按下后所需时间 then begin {} Timer3.NeedTime:=重复时间; //设定计时时长
Timer3.Enabled:=True;//启动Timer3 开始计时 到时间时自动移动一
//格
Key:=Msg.wParam;
end;
//...
end;
LastKeyTime:=CurrentTime;
//...
end ;
if Msg.Message=WM_KeyUp then
if Timer3.Enabled=True then Timer3.Enabled:=False;
//...
end;
//...
”
By坚定支持Goo,原帖地址请自行Ctrl+F DAS,这是DAS的部分,语言未知