VC下,需要实现对话框的可调大小,每次需要获取对话框上各个控件的指针,例如用GetDlgItem(CONTROL_ID)获取控件指针,然后改变尺寸。现在这个对话框只是个框架,包含的控件较多,而且经常要修改其中的一些控件,所以每次都这样感觉挺麻烦的,有没有什么函数或者什么方法 一次就获取对话框上的所有控件的指针?

解决方案 »

  1.   

    你自己做个数组全部保存起来就行,如果你只是需要改变大小,那么保存控件的基类指针就行了
    CWnd* wnd = GetDlgItem(CONTROL_ID);初始化的时候这样获取所有指针放到自己定义的数组里去
      

  2.   


    CWnd* pChild = NULL;
    while((pChild = pParent->GetNextWindow()) != NULL)
        // 得到一个子窗口的指针了,想干嘛干嘛吧。
        // pChild->DoSomething();
      

  3.   

    将DIALOG设计成可变大小的,DIALOG上面的控件可自动跟着DIALOG调整大小。
      

  4.   

    CWnd* pChild = NULL;
    while((pChild = pParent->GetNextWindow()) != NULL)
        // 得到一个子窗口的指针了,想干嘛干嘛吧。
        // pChild->DoSomething();
      

  5.   

    while((pChild = GetWindow(GW_HWNDNEXT)) != NULL)
      

  6.   

    枚举子窗口,EnumChildWindows/FindWindowEx();