是这样的,在程序中我要按下某个按纽实现一个特定的功能设定一个变量为TRUE,按下其他的控件为FALSE(一个特定的除外)。如何实现? 注意:不能在一个特定除外的控件之外所有控件按下这个变量为FALSE的(比如我在一个界面中有100多个控件) 我考虑用消息!但是我对消息研究不是特别多。希望各位给些提示!!!!分先给这么多,代码值的话再加分。
解决方案 »
- 星星是红色的
- 菜鸟请教:server端用indy,客户端可以用别的吗?比如直接用winsock api?另外,两台机器传递字符串,
- dephi7中的TClientSocket和TServerSocket哪去了
- 深圳上海北京西安珠海的兄弟姐妹们进来说一下收入情况阿,来者有分
- 自己创建继承VCL时怎样继承并扩充父类的事件?
- 关于用户登陆的问题!!!!
- Delphi高级组件开发指南 第一篇
- 含有(group by)的Sql语句dbgrid不显示分组字段吗?
- 如何判断一个record类型的变量是否相等?
- 使用Shelltreeview的一个问题
- 各位高手,帮帮忙!急急急!!
- 写在ExportGridToExcel()之后的延伸…………
begin
myvar:=true;
end;proceudre form1_click()
begin
myvar:=false;
end;
用消息也同样。你也必须为“其他空间”写响应代码。否则他们依然没动作。
只不过有些变通的方法,可以让你不必一个控件一个控件的写罢了
TForm1=class(TForm)
.........
pvivate
procedure OtherCLick(Sender:TObject);..........
procedure TForm1.OtherCLick(Sender:TObject);
begin
aBooleanVar:=false;
if (Sender as TComponent).tag=99 then
showmessage('a Special one Clicked');
end;
然后判断鼠标位置,如果在按钮上,就把变量设为true,否则就设为false
现在有一个问题(我也不是太清楚是为什么):一个控件的 CLICK事件(包含其他如:dbclick等等)触发不起来,但是我不知道如何去做,用消息吗?还是用其他的(用其他的按纽来控制是可以的)我是要求是在此控件上按下鼠标就能触发起来(或者调用其他的程序也可)!如何实现分看来肯定是不够的,再加up者有分
procedure WMClicked(var Message:T(要单击实现的控件类));message WM_LBUTTONDOWN;如何的写啊?
begin
if Components[i].ClassName= 'TEdit' then
(Components[i] as TEdit).Text:='';
end;
加工一下就可以了!
懒了,自己些吧
.........
pvivate
procedure OtherCLick(Sender:TObject);..........procedure TForm1.OtherCLick(Sender:TObject);
begin
aBooleanVar:=false;
if (Sender as TComponent).caption=当前按钮的caption值 then
showmessage('a Special one Clicked');
end;