学习远控界面设计一: 程序界面大小

新建一个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);

好了,那这就算设计完了。 看结果。

不管我们程序大小有多大,控件大小也会随之变化。

原文地址:https://www.cnblogs.com/killbit/p/5093374.html