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

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

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的属性
	}

}

这段代码的意思是:列表框尺寸随【窗体的尺寸的改变】而改变
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亭台六七座

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值