有没有:0 to MdiChildCount-1 ???action:=caFree;  ???

解决方案 »

  1.   

    在程序开始建立时便打开的子窗口是不能被Close方法所关闭的。
    你象楼上所说的那样吧,在子窗口的onClose事件中 ,action := caFree;
      

  2.   

    for a1:=MdiChildCount - 1 downto 0 do
    begin
      ActiveMDIChild.Free;
      ActiveMDIChild := nil;
    end;
      

  3.   

    是的,你把不是动态创建的那个窗口的close事件中的action:=cafree;
      

  4.   

    用WuHeHai(河海)方法试试如何?
    那个是不是子窗体?
    我试过都可以
      

  5.   

    for a1:=MdiChildCount - 1 downto 0 do
    begin
      MDIChildren[i].Free;
      MDIChildren[i]:= nil;
    end; 
      

  6.   

    for a1:=MdiChildCount - 1 downto 0 do
    begin
      MDIChildren[0].Free;
    end; 
      

  7.   

    问题解决了,但还有一个问题很奇怪。我设置了MDI父窗口的WINDOWSMENU属性,这样在父窗口菜单栏中便能看见当前打开的MDI子窗口了。但当我运行程序时,一开始弹出作为主界面的MDI子窗口却在菜单栏中不可见,打开另一个MDI子窗口时有时可见有时不可见,如果不可见,需关闭再打开才可在菜单中见到,怎么回事?
      

  8.   

    MDI子窗口给他最大化不就行吗
      

  9.   

    这样吧,你简单给我一个例子,我帮你调
    [email protected]
      

  10.   

    begin
     appilication.terminate;
    end; 
      

  11.   

    模拟按f10即可下拉菜单
     PostMessage(Handle, WM_KEYDOWN, vk_F10, 0);
     PostMessage(Handle, WM_KEYUP, vk_F10, 0);
    如果还要向右移的话
    PostMessage(Handle, WM_KEYDOWN, vk_Right, 0);
    PostMessage(Handle, WM_KEYUP, vk_Right, 0);
    然后按回车