speedbutton鼠标按下时,开始执行一个循环,直到鼠标弹起来结束循环。
该怎么做呢?
该怎么做呢?
解决方案 »
- delphi 7 文件传输问题???急急急????
- 用datetostr(DateTimePicker1.Date),插进access数据库后怎么变成1905-5-21了!
- 在线提问:请问TServersocket和TClientSocket控件在哪个组件栏里??
- 有没有能在StringGrid中某个字段改为下拉菜单的控件?
- intallshield 7.0的东方语言包如何装?
- 用ADOCONNECTION连接远程好象还不能直接连呀,急急。。。。
- 急!!!﹐關于SOCKET傳送文件的問題﹐請各位高手給予回復﹐小弟在這多謝了
- 如何把数据库的绝对路径改为相对路径
- Flash播放的问题,急!!!
- 关于delphi处理PNG图片的取像素问题
- delphi调用udl的问题
- Delphi RTTI的使用例子
MouseUp是不是要MouseDown事件结束才会去执行呢?
MouseDown中CanDo:=True;
MouseUp中CanDo:= False;然后在那个循环中,判断Cando,如果CanDo=True则执行,如果CanDo=false,则Exit
变量变化时exit或者break
我的代码:(下面代码有误,进入了死循环)
var is_m: boolean;
procedure TForm1.SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
is_m:= true;
while is_m do
begin
//要求MouseDown时,edit的值不断的递增,MouseUp时就停止
edit1.Text:= inttostr(strtoint(edit1.Text) + 1);
end;
end;procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
is_m:= false;
end;
procedure TForm1.SpeedButton1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
is_m:= true;
while true do
begin
if is_m then
//要求MouseDown时,edit的值不断的递增,MouseUp时就停止
edit1.Text:= inttostr(strtoint(edit1.Text) + 1)
else exit;
end;
end;procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
is_m:= false;
end;
谢谢,可以了,
还有个问题是speedButton弹不起来了。。