好几个按钮 都设置ModalResult:=mrOk;
然后怎样判断是哪个按钮的事件呢?
if vForm.ShowModal=mrOK then
begin
这边怎么判断是哪个按钮?
end;

解决方案 »

  1.   

    方法很多,可以在vForm中定义一个公共变量var K:Integer;procedure vForm.Button1Click(Sender: TObject);
    begin
     K:=1;
     ModalResult:=mrOk;
    end;procedure vForm.Button2Click(Sender: TObject);
    begin
     K:=2;
     ModalResult:=mrOk;
    end;…if vForm.ShowModal=mrOK then
    begin
      if vForm.K=1 then
         showmessage('是Button1')
      else if vForm.K=2 then
         showmessage('是Button2')
      ...
    end;
      

  2.   

    你为什么把好几个都弄成mrOk?
      

  3.   


    ModalResult:=addr(Tbutton(Sender).caption);  这样写 可以吗?
      

  4.   

    窗口里面每个按钮的ModelResult属性设个不同的值那么难吗?
      

  5.   

    你把所有按扭都设成mrOk,那总得有个标记区别吧
    好吧,不想要变量,那再改进一点点procedure vForm.Button1Click(Sender: TObject);
    begin
     tag:=1;
     ModalResult:=mrOk;
    end;...if vForm.ShowModal=mrOK then
    begin
      if vForm.tag=1 then
      showmessage('是Button1')
      else
      ...
    end;