对话框上的空间如何随窗体一起变化呢?需要代码,不需要 什么说onsize() 之类的
需要实际的代码。。

解决方案 »

  1.   

    计算窗体的大小和控件相对它的位置啊,然后调用onsize,代码类似:
    GetClientRect(rcClient);
    int nWidth = rcClient.Width();
    int nHeight = rcClient.Height();你就可以通过rcClient来计算你的控件位置(例如一个Button)
    CRect rcButton;//Button的新位置;
    CRect oldrcButton;//Button原来的位置;
    rcButton.top = rcClient.top + nHeight/25;
    rcButton.left = rcClient.left + nHeight/10;
    m_Button.GetClientRect(&oldrcButton);
    rcButton.right = rcButton.left + oldrcButton.Width();
    rcButton.bottom = rcButton.top + oldrcButton.Height();
    m_Button->MoveWindow(rcButton);
    这样就可以得到rcClient变化后Button相对他的位置,其他控件处理方式一样
    但是如果对话框太小的话,有些控件可能还是显示不出来
      

  2.   

    对话框响应WM_SIZE消息,在OnSize中SetWindowPos/MoveWindow()来调整各个子控件的位置,或者codeproject上搜索easysize,或者去界面版主xianglitian的blog中去找