Y yong2000 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-08 #1 在FormKeyDown事件中怎样做到一直按着某一键(如回车键),过几秒放开,而FormKeyDown中的程序只执行一次,以后几次按下几秒还是执行一次。能否提供演示代码?
Y yong2000 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-08 #3 To onyliu:FormKeyPress也一样,一直按着时,会反复执行FormKeyPress中写的程序。
O onyliu Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-08 #4 与FormKeyUp联合呢加个FLAG FormKeyUp置为true down的时候置为false 为true 的时候再触发事件
S sexhotel11 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-09 #8 定义个全局变量procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin inc(count); if count=1 then begin showmessage('fsdfds'); end;end;procedure TForm1.FormCreate(Sender: TObject);begin count:=0;end;
定义个全局变量procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin inc(count); if count=1 then begin showmessage('fsdfds'); end;end;procedure TForm1.FormCreate(Sender: TObject);begin count:=0;end;
Y yong2000 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-10 #9 To sexhotel11:1.你的例子按键只能执行一次,第二次按键下就不起作用了。2.一定要按某个键,如回车键,其他键不能有作用。
P pyzhx801225 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-10 #11 设个变量,在KEYUP中改变变量的值为TRUE。KEYDOWN中变量为TRUE时执行,并把变量设为FALSE。
B bettle_c Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-10 #12 用事件替换,在FormKeyDown事件触发后,把该事件给替换了,在formClose或者其他你自己设的事件里把FormKeyDown事件换回来,这样,不管按几次都只会执行一次
H hctdnjy Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-11 #14 设一个全局变量初始值为FALSE,KEYDOWN时如果KEY等于设定的键值并且变量值为FALSE时则置变量值为TRUE,开始执行程序,如果变量为TRUE时,跳过执行,KEYDOWN时如果KEY等于设定的键值则置变量为FALSE.
设一个全局变量初始值为FALSE,KEYDOWN时如果KEY等于设定的键值并且变量值为FALSE时则置变量值为TRUE,开始执行程序,如果变量为TRUE时,跳过执行,KEYDOWN时如果KEY等于设定的键值则置变量为FALSE.
S sexhotel11 Unregistered / Unconfirmed GUEST, unregistred user! 2010-10-11 #15 procedure TForm1.FormCreate(Sender: TObject);begin count:=0 ;end;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin inc(count); if count=1 then begin showmessage('dsadsa'); end;end;procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);begin count:=0;end;
procedure TForm1.FormCreate(Sender: TObject);begin count:=0 ;end;procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);begin inc(count); if count=1 then begin showmessage('dsadsa'); end;end;procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);begin count:=0;end;