我现在有一个按钮,我想点击一次后就把它禁掉,然后1小时后在让它起作用!!
请高手指点一下,小弟十分感激!!!!
最好把代码写具体点,我是刚从VB转学Delphi的
请高手指点一下,小弟十分感激!!!!
最好把代码写具体点,我是刚从VB转学Delphi的
解决方案 »
- Delphi写的程序是否可以全部是树状结构
- 登录值传给网站?使得网站自动登录!
- 安装第三方控件!(菜鸟在线等)
- 招聘Delphi程序员!(北京)
- 我软件编译时候每次都提示:[Fatal Error] Internal error:bc2241
- 求助:delphi 从文件中读取数据,将每32位数据与一固定字符串进行异或运算,再写入文件
- 当你最爱的人问你“程序和他对你谁重要”你会怎么回答?当二者只能取其一,你会选谁我很困惑?
- 如何修改系统时间?
- 怎样屏蔽掉DBGrid向下方向键的自动Append功能?
- 菜鸟的问题,serversocket and clientsocket!!
- TCP传输协议问题
- 高分求救!!!!!!!!!!关于Midas三层数据库问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled:=false;
self.Timer1.Enabled:=true;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
button1.Enabled:=true;
self.Timer1.Enabled:=false;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
self.Timer1.Interval:=1000*60*60;
self.Timer1.Enabled:=false;
end;end.
begin
Button2.Enabled := True;
Timer1.Enabled := False;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := True;
Button2.Enabled := False;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 3600000;
Timer1.Enabled := Flase;
end;
begin
Button1.Enabled := True;
Button1.OnClick := Button1Click;
Timer1.Enabled := False;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True;
Button1.OnClick := nil;
Button1.Enabled := False;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Interval := 3600000;
Timer1.Enabled := False;
end;
我刚刚测试了,
灰色按钮克星 确实可以使得 Disable的按钮变为 Enable (不论是VB的程序还是Delphi的,估计VC的都可以,因为解决方法可能来自Windows API)
但是只要流程的指向发生变化(Button1.OnClick := nil;原来指向处理函数的入口,现在改为空),
这种变化是没有办法恢复的,因此也没有办法有针对性的解除。
procedure EnableClick(Sender: TObject);
procedure DisableClick(Sender: TObject);procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Enabled:=false;
self.Timer1.Enabled:=true;
button1.onclick:=DisableClick;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
button1.Enabled:=true;
self.Timer1.Enabled:=false;
button1.onclick:=EnableClick;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
self.Timer1.Interval:=1000*60*60;
self.Timer1.Enabled:=false;
button1.onclick:=EnableClick;
end;
................