Delphi 按住按钮时执行连续动作
当按下按钮时,我如何能够进行连续动作?例如,我为我的应用程序制作了一个自定义的“Numpad”,它有一个删除按钮。现在,我必须单独单击它,但我希望它在按住的同时继续删除Delphi 按住按钮时执行连续动作,delphi,Delphi,当按下按钮时,我如何能够进行连续动作?例如,我为我的应用程序制作了一个自定义的“Numpad”,它有一个删除按钮。现在,我必须单独单击它,但我希望它在按住的同时继续删除 过程TFrame1.deleteClick(发送方:TObject); 变量 模糊:字符串; 开始 全局\u获取\u模式:=precheck.global\u编辑\u模式; precheck.Form2.input_field.SetFocus; MiString:=复制(precheck.Form2.input_field.T
过程TFrame1.deleteClick(发送方:TObject);
变量
模糊:字符串;
开始
全局\u获取\u模式:=precheck.global\u编辑\u模式;
precheck.Form2.input_field.SetFocus;
MiString:=复制(precheck.Form2.input_field.Text,0,(长度(precheck.Form2.input_field.Text)-1));
precheck.Form2.input_field.Text:=MiString;
Form2.input_field.SelStart:=高(整数);
结束;
添加计时器并在OnMouseDown
事件中激活它。
只要按下按钮,计时器将按您选择的速率启动。
松开按钮时,OnMouseUp
事件将禁用计时器
以这种方式:
procedure TFrame1.BtnMouseDown(Sender : TObject);
begin
global_gotten_mode := precheck.global_edit_mode;
precheck.Form2.input_field.SetFocus;
fMyBtnTimer.Interval := 500; // Initial repetition rate
fMyBtnTimer.Enabled := true;
end;
procedure TFrame1.BtnMouseUp(Sender : TObject);
begin
fMyBtnTimer.Enabled := false;
end;
procedure TFrame1.MyBtnTimerEvent(Sender : TObject);
var
MiString: string;
begin
fMyBtnTimer.Interval := 200; // Increase repetition rate
MiString := Copy( precheck.Form2.input_field.Text,
0,
length(precheck.Form2.input_field.Text) - 1);
precheck.Form2.input_field.Text := MiString;
Form2.input_field.SelStart := high(integer);
end;
添加计时器并在
OnMouseDown
事件中激活它。
只要按下按钮,计时器将按您选择的速率启动。
松开按钮时,OnMouseUp
事件将禁用计时器
以这种方式:
procedure TFrame1.BtnMouseDown(Sender : TObject);
begin
global_gotten_mode := precheck.global_edit_mode;
precheck.Form2.input_field.SetFocus;
fMyBtnTimer.Interval := 500; // Initial repetition rate
fMyBtnTimer.Enabled := true;
end;
procedure TFrame1.BtnMouseUp(Sender : TObject);
begin
fMyBtnTimer.Enabled := false;
end;
procedure TFrame1.MyBtnTimerEvent(Sender : TObject);
var
MiString: string;
begin
fMyBtnTimer.Interval := 200; // Increase repetition rate
MiString := Copy( precheck.Form2.input_field.Text,
0,
length(precheck.Form2.input_field.Text) - 1);
precheck.Form2.input_field.Text := MiString;
Form2.input_field.SelStart := high(integer);
end;