一个GroupBox框中有很多控件,我现在移动GroupBox,怎么使这些控件一起移动(最多几条语句),别告诉我一个一个的移,如果我有100000000000个控件怎么办?是不是GroupBox控件有什么属性可以设置一下就可以了,请高手指教

解决方案 »

  1.   

    as I understand it, a groupbox control is NOT the parent of the
    controls "inside" it, so you have to move them together programmatically
      

  2.   

    to netsbull:因为我讨厌MDI的界面,一运行就占懑整个屏幕用户不能隋意改变大小,我的程序是基于对话框的怎么办希望指教。
      

  3.   

    你可以调用EnumChildWindows,然后用那个回调函数来移咯
      

  4.   

    to Wargod2002EnumChildWindows怎么个枚举法能给我一个例子吗?
      

  5.   

    BOOL CALLBACK EnumChildProc(
      HWND hwnd,      // handle to child window
      LPARAM lParam   // application-defined value
    )
    {
        //do something here
    }
    EnumChildWindows(hParentWnd,EnumChildProc,lParam);
    这里的lparam是传给回调函数的
      

  6.   

    to Wargod2002:
    BOOL CALLBACK EnumChildProc(
      HWND hwnd,      // handle to child window
      LPARAM lParam   // application-defined value
    )
    {
        //do something here
     这里有1000000000个child window是否要写出1000000000条语句
     因为child window的位置是各不相同的。
    }
      

  7.   

    当然不是,这是针对每一个子窗口做的,你只要
    MoveWindow(hwnd,...),把hwnd移动到恰当的位置
    就会把这1000000000个窗口都移动了
      

  8.   

    我想你为什么不能定义一个控件数组呢?然后用MOVE()方法来移动窗口呢?
      

  9.   

    to Wargod2002:
    MoveWindow(hwnd,...),把hwnd移动到恰当的位置
    你这里所说的CHILD窗口我猜想是窗体而不是我所说的100000个控件
    你是把这10000000个控件放在HWND的窗体内你再移动HWND的窗体是不是
    这样出现了一个情况我改变主窗体的大小时移动HWND的子窗体,HWND窗体内的控件
    也移动了但原来的位置会留下它没有擦除。我是基于DIALOG的程序。