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
  • 相关阅读:
    c博客06-2019-结构体&文件
    C博客作业05--2019-指针
    C语言博客作业04--数组
    Java购物车
    c博客06-2019-结构体&文件
    数组和指针的选择排序和冒泡排序区别
    C博客作业05--2019-指针
    面向对象设计大作业-图书馆系统
    java-购物车大作业
    互评-OO之接口-DAO模式代码阅读及应用
  • 原文地址:https://www.cnblogs.com/blogpro/p/11453739.html
Copyright © 2011-2022 走看看