MFC窗体消息之尺寸被改变 OnSize()

来源:互联网 发布:comsol软件下载 编辑:程序博客网 时间:2024/05/21 19:24

在窗口的大小更改后,框架调用该成员函数。

afx_msg void OnSize(

   UINT nType, 

   int cx, 

   int cy 

);


参数nType 指定请求的调整大小的类型。

 此参数可以是下列值之一: 

   SIZE_MAXIMIZED 窗口最大化。 

   SIZE_MINIMIZED 窗口最小化。

   SIZE_RESTORED 窗口已调整大小,但是,SIZE_MINIMIZED 和 SIZE_MAXIMIZED 不适用。 

在某些其他窗口最大化时,SIZE_MAXHIDE 发送到所有弹出窗口。 

在某些其他窗口将还原为其以前的大小时,SIZE_MAXSHOW 发送到所有弹出窗口。

cx

   指定工作区的新的宽度。

cy

   指定工作区的新的高度。

备注 :

   如果 SetScrollPos 或 MoveWindow 成员函数用于从 OnSize的子窗口调用,SetScrollPos 或 MoveWindow 的 bRedraw 参数应为非零导致 CWnd 会重新绘制。

说明 :

   此成员函数由框架调用提供您的应用程序处理Windows消息。

   当接收消息,参数传递给函数以反映结构接收的参数。 

   如果调用此函数的基类实现, 该实现将使用参数最初用消息您提供给函数而非参数。

头文件:

Header: afxwin.h


//窗体消息:尺寸被改变void CMFCApplication3Dlg::OnSize(UINT nType, int cx, int cy)  // cx 窗体宽度,cy窗体高度{CDialogEx::OnSize(nType, cx, cy);if (SIZE_MINIMIZED == nType)    //防止最小化时程序崩溃return;if (m_CList_Online.m_hWnd != NULL){CRect rc;    rc.left = 1;             //左坐标rc.top = 80;             //上坐标rc.right = cx - 1;       //右坐标rc.bottom = cy - 160;    //下坐标m_CList_Online.MoveWindow(rc);  //将列表框控件尺寸设置成rc的属性}if (m_CList_Message.m_hWnd != NULL){CRect rc;rc.left = 1;           //左坐标rc.top = cy-156;       //上坐标rc.right = cx - 1;     //右坐标rc.bottom = cy - 6;    //下坐标m_CList_Message.MoveWindow(rc);  //将列表框控件尺寸设置成rc的属性}}

这段代码的意思是:列表框尺寸随【窗体的尺寸的改变】而改变
原创粉丝点击