密码检验窗口设置为主窗口,密码校验正确,则进入功能窗口,但最小化时不能缩小为任务栏图标,而是缩小到左小角;
   改功能窗口为主窗口,在Onformcreat中调用密码检验窗口,用hide和close不能对密码窗口进行关闭和隐藏,仍最小化时不能缩小为任务栏图标,请问如何解决这个问题??

解决方案 »

  1.   

    在Delphi中要关闭MDI子窗口时,却只是缩小而不是关闭,所以当你单击子窗口右上角的关闭按钮时会发觉该子窗口只是最小化,而不是你预期的那样被关闭。解决办法是在子窗口的OnClose事件处理过程中加入如下代码,示例:
    procedure ChildForm.OnClose(Sender: TObject; var Action: TCloseAction);
    begin
    Action := caFree;
    end;
    本代码说明:
    Delphi为一个Form的关闭行为指定了四种方式,分别是:
    caNone:
    禁止Form被关闭caHide:
    Form不被关闭,但是被隐藏。被隐藏的Form仍然可以被程序访问。
    caFree:
    Form被关闭,并且释放其占用的资源。
    caMinimize:
    Form被最小化而不是被关闭,这是MDI子窗口的默认关闭行为。
      

  2.   

    虽然现在成功了,但还是有点不如意。主功能窗口为MainForm,Oncreat 中调用密码校验窗口,密码校验窗口中确定按钮只有两句
    1.将用户输入密码赋一全局变量供校验
    2,关闭密码窗主窗口中再调用校验过程。校验过程中
        showmessage('欢迎使用!!');
         application.Restore;
       application.BringToFront;必须使用showmessage使窗口显示,用messagedlg都不行,不知道为什么。
    请有经验的老大解释一下,