窗口有多个bitbtn,若我要在鼠标点击bitbtn1后接着点击bitbtn2作出反应,或者点击bitbtn2后接着点击bitbtn1作出反应(意思就是接着点击别的如bitbtn3或bitbtn4就没反应),可以以这样的情况作为条件放在if后面吗?是用bitbtn2的onclick属性吗?谢谢

解决方案 »

  1.   

    var
      btn1clicked, btn2clicked: Boolean;bitbtn1.onclick:
      btn1clicked := true;
    bitbtn2.onclick:
      if btn1clicked then
        ...最笨的方法,呵呵...
      

  2.   


    消息控制
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SendMessage(Button2.Handle,WM_LBUTTONDOWN,0,0);
      SendMessage(Button2.Handle,WM_LBUTTONUP,0,0)
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      ShowMessage('ok');
    end;
      

  3.   

    不過樓主如果采用1樓的朋友的方法的時候,在除了bitbtn1和bitbtn2外的所有的按鈕的click事件中,別忘記把btn1clicked, btn2clicked的值設為false。這個方法的確古老了一點!呵呵!
      

  4.   

    我用1楼的方法试怎么不行?我是在一个Form上有12个bitbtn,分左右两列各6个,左边6个的Caption是英文单词,右边6个分别是一一对应的中文,Caption是随机打乱的,现在的目的就是但点中左边和右边两个若他们中英文符合就用canvas连起来。自己想了一些方法都不理想,所以才来麻烦大家了。
      

  5.   

    定义一个全局变量,点击一个buttom时给他赋值,点击别的按钮时再判断该值进行你想要的操作