zoukankan      html  css  js  c++  java
  • MDI窗体

    在一个MDI窗体中限制打开多个子窗体,采用遍历的方式判断子窗体是否已经存在

    procedure Tf_Main.btnUpdateClick(Sender: TObject);
    var
    i:Integer;
    begin
    for i :=0 to f_main.MDIChildCount -1 do //MDIChildCount:总的子窗体个数
    if (f_main.MDIChildren[i] is Tf_Pass) then //判断子窗体是否存在
    begin
    self.MDIChildren[i].BringToFront; //把窗体放在最前面
    MDIChildren[i].SetFocus; //窗体获得焦点
    Exit; //退出函数体
    end;
    //创建新窗体
    Application.CreateForm(Tf_Pass,f_Pass);
    f_Pass.Show;
    end;
    View Code

    DMI子窗体如何设置让他不显示

    把它关闭就行了,关闭的同时把它销毁
    
    举个例子吧
    
    一个工程里有两个窗体
    Form1是父窗体 里面有个Button1 
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if Not Assigned(Form2) then
        Form2 := TForm2.Create(Nil);
      Form2.Show;
    end;
    
    form2是子窗体
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Action := Cafree;
      Form2 := Nil;
    end;
    
    这样就能关闭了
    
    同时要说明,程序启动的时候如果不要Form2自己打开,就把工程文件里的Form2去掉(看注释)
    program Project1;
    
    uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};
    
    {$R *.res}
    
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);//去掉这一行
      Application.Run;
    end.
    View Code
  • 相关阅读:
    导入导出excel
    sql里的常用方法
    mybatis_plus
    Shiro框架从入门到实战
    PHP面向对象程序设计(视频学习)
    Java爬虫技术快速入门
    微信公众号开发客服消息与模板消息开发(视频java版)
    微信小程序从基础到实战完整视频教程
    微信扫码支付视频课程(Java版)
    支付宝web商城支付(视频java版)
  • 原文地址:https://www.cnblogs.com/blogpro/p/11453739.html
Copyright © 2011-2022 走看看