新建一个MFC工程。
分别为如下:
分别将最大化和最小化开启。程序会这样。
如何让程序跟随大小自己变化。 先给控件添加变量。
同时给窗口添加响应消息。
void CGhostDlg::OnSize(UINT nType, int cx, int cy) { CDialogEx::OnSize(nType, cx, cy); if (m_list_oline.m_hWnd!=NULL) //改变上线地址大小 { CRect rc; rc.left=1; //列表的左坐标 rc.top=80; //列表的上坐标 rc.right=cx-1; //列表的右坐标 rc.bottom=cy-160; //列表的下坐标 m_list_oline.MoveWindow(rc); } if (m_list_msg.m_hWnd!=NULL) //改变日志框大小 { CRect rc; rc.left=1; //列表的左坐标 rc.top=cy-156; //列表的上坐标 rc.right=cx-1; //列表的右坐标 rc.bottom=cy-6; //列表的下坐标 m_list_msg.MoveWindow(rc); } // TODO: Add your message handler code here }
最后,我们发现窗口由小变大有一个问题。所以在需要在初始化窗口那儿我们还需要动点手
CRect rect; GetWindowRect(&rect); rect.bottom+=20; MoveWindow(rect);
好了,那这就算设计完了。 看结果。
不管我们程序大小有多大,控件大小也会随之变化。