2 jujiawu1024 jujiawu1024 于 2016.03.29 23:09 提问

MFC关于OnSize和MoveWindow关系的梳理
mfc

请问MFC中既然写了OnSize,为什么还要写 MoveWindow 呢,两者的关系是怎样的,具体的案例写法怎么做?

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.29 23:41
已采纳

根本用不着MoveWindow,直接在你的OnDraw中根据新的窗口尺寸的比例重新绘图就可以了。

lx624909677
lx624909677   Ds   Rxr 2016.03.29 23:35

在调用成功MoveWindow之后,才会走OnSize,一个是用来改变窗体大小,一个是窗体大小改变之后要做的事情

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MoveWindow后OnSize没被调用的原因:WM_GETMINMAXINFO限制了
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { //调整最小高度与宽度,如果需要的话 lpMMI->ptMinTrackSize.x = 640; lpMMI->ptMinTrackSize.y = 480; //调整最大高度与宽度,如果需要的话 lpMMI->ptMaxTrackSize.x = 1366; lpMMI->
MFC CListView/CListCtrl OnSize时自动排列图标(尽量不出现滚动条)
创建时用风格LVS_AUTOARRANGE 或者每次MoveWindow之后调用Arrange函数
对话框的OnSize()和OnWindowPosChanged()的理解
最近的项目是一个对话框的项目,之前没有做过这种项目,
64位 win7中设置窗口大小时 未能收到WM_SIZE消息
参考窗口管理器功能的递归调用可能会意外失败
用SendMessage/PostMessage发送WM_SIZE消息
一般情况下,调用MoveWindow()/SetWindowPos()函数会自动引发WM_SIZE消息,但有时候也需要手工发送该消息,使窗口调整大小和布局。 SendMessage()和PostMessage()函数发送WM_SIZE的格式是一样的,在此就只以SendMessage()函数为例。 LONG  xy; xy =MAKELONG(x, y); SendMessage(WM_
控件大小随窗口变化的方法(MFC)
VC++之根据对话框大小调整控件大小 1、在对话框类中加入成员变量CRect m_rect;用于保存对话框大小变化前的大小; 2、在对话框的OnInitDialog()函数中获取对话框创建时的大小:GetClientRect(&m_rect); 3、在WM_SIZE的响应函数OnSize()中加入以下代码: CWnd *pWnd;  pWnd = GetDlgItem(IDC_LIST)
MOVEWINDOW 与setwindowspos
 MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always   on   top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。没有什么优缺点可言,只是功能上的大小有别。你完全可以不用MoveWindow,而只用SetWindowPos;
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  cx,cy  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘函数,       再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
MFC中的MoveWindow and SetWindowPos
MoveWindow只能设置窗口的大小和位置;SetWindowPos拥有MoveWindow的全部功能之外,还可以设置窗口的层叠关系(如,把指定的窗口放在所有窗口的最上层--always   on   top就可以用这个函数、或者把指定的窗口放在另一个窗口的下层,等等)。 没有什么优缺点可言,只是功能上的大小有别。你完全可以不用MoveWindow,而只用SetWindowPos;但是,在只要设
函数onsize()与onsizing()区别
OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(cx和cy指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了