我希望在程序中,取得所有的窗口的名称,但是这些窗口并没有打开,程序运行的时候,只有一个MDI主窗口在显示,请问有没有什么好的方法?

解决方案 »

  1.   

    取得Form的Name还是取得Form的Caption?我不太明白你的意思!
      

  2.   

    是要取得form.name,但是这些form没有打开(Create),只是在项目中存在,如何获取
      

  3.   

    name属性是固定的,它唯一的标识着一个窗体,所以你没有必要动态的读,在设计时就已经能知道name属性的值了
      

  4.   

    我想做个权限管理的模块,读取所有的窗体,然后检索窗体的所有的action,通过action实现权限管理功能
      

  5.   

    if else或者给窗体设置Tag号
      

  6.   

    还没Create啊!怎么取得到啊,不太可能吧?
    或许你可以取它的ClassName,但是怎么取到这个类的信息呢?不知道。
      

  7.   

    //窗體是否己打開
    function  IsExistsFormName(frmName :string): boolean;
    Var i:integer;
    begin
      result := false;
      with application.MainForm do
      begin 
        for i := 0 to MDIChildCount-1 do
        begin
          if uppercase(Trim(MDIChildren[I].Name))=uppercase(Trim(frmName)) then
          begin
            result:=true;
            MDIChildren[I].WindowState := wsNormal;//還原顯示。
            MDIChildren[I].BringToFront;
            exit;
          end;
        end;
      end;
    end;