模态窗口,只要窗口的modalresult有值,就会关闭。
你设了100,就有反回值了,所以就变了。第二个也一们,你所设的mrcancel、mrok等只对模式窗口起作用,对非模式窗口不起作用。
模式窗口的使用:
 if form2.showmodal=mrok then
begin
end else
begin
end;

解决方案 »

  1.   

    KIND和modalresult
    只是对模态窗口有效,看看这个就知道了:
    function ShowModal: Integer; virtual;—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  2.   

    .系统给modalresult定义的值最大是10,设为比10大的数,表示自定义。
    点这个按钮,ShowModal返回你定义的数,并且关闭窗口—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  3.   

    ModalResult必须设为mrNone,否则就会关闭窗口.
    ModalResult中的值就是Form.ShowModal的返回值,以便于调用者可以知道用户是点击的哪一个按扭来关闭窗体的.如果某些按扭不关闭窗口,应把ModalResult设置为mrNone.
      

  4.   

    谢谢各位的帮助,我已经明白这个问题。
    第一次在csdn上提问,得到回答,感觉真好。