是这样的,在程序中我要按下某个按纽实现一个特定的功能设定一个变量为TRUE,按下其他的控件为FALSE(一个特定的除外)。如何实现?  注意:不能在一个特定除外的控件之外所有控件按下这个变量为FALSE的(比如我在一个界面中有100多个控件)  我考虑用消息!但是我对消息研究不是特别多。希望各位给些提示!!!!分先给这么多,代码值的话再加分。

解决方案 »

  1.   

    proceudre button_click()
    begin
      myvar:=true;
    end;proceudre form1_click()
    begin
      myvar:=false;
    end;
      

  2.   

    在程序中我要按下某个按纽实现一个特定的功能设定一个变量为TRUE,按下其他的控件为FALSE(一个特定的除外)。如何实现?那么你是如何为“其他控件”写事件代码的呢?最少,他们的CLICK事件都要被影射到一个 事件上来吧?那就在这个公共的事件里判断咯。。你不可能不为这个“其他控件”写事件吧?要不染他们就没有动作。既然他们有动作,就在他们的动作里写代码你的方法有问题
    用消息也同样。你也必须为“其他空间”写响应代码。否则他们依然没动作。
    只不过有些变通的方法,可以让你不必一个控件一个控件的写罢了
      

  3.   

    比如,,你可以把所以东西的CLICK事件都影射到这个过程上来。先为每个控件设置tag为不同,用以区分他们。
    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;
      

  4.   

    楼上的方法不好,控件很多或是有不同控件的时候不是很好,还是用消息吧,WM_MOUSEDOWN
    然后判断鼠标位置,如果在按钮上,就把变量设为true,否则就设为false
      

  5.   

    关于小鱼儿的方法是不可行的,和我提示的差不多,
    现在有一个问题(我也不是太清楚是为什么):一个控件的 CLICK事件(包含其他如:dbclick等等)触发不起来,但是我不知道如何去做,用消息吗?还是用其他的(用其他的按纽来控制是可以的)我是要求是在此控件上按下鼠标就能触发起来(或者调用其他的程序也可)!如何实现分看来肯定是不够的,再加up者有分
      

  6.   

    可不可以用消息啊:比如我使用
    procedure WMClicked(var Message:T(要单击实现的控件类));message WM_LBUTTONDOWN;如何的写啊?
      

  7.   

    我的方法为什么不可?我用bcb可以实现的?你要是需要的话我可以用bcb帮你做一下
      

  8.   

    for i:=0 to ComponentCount-1 do
       begin
          if Components[i].ClassName= 'TEdit' then
          (Components[i] as TEdit).Text:='';
        end;
    加工一下就可以了!
    懒了,自己些吧
      

  9.   

    得,变的时候也一样,可以用函数动态的找到控件的位置,我用bcb可以给你做,你要不要?
      

  10.   

    TForm1=class(TForm)
      .........
      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;
      

  11.   

    感谢 xiaoshi0(小鱼儿) 鼎立相助:发送程序和开发文档结贴