改变窗口大小 WM_SIZE

场景:在WM_SIZE改变窗口大小解决方法

在WM_SIZE中改变窗口大小
不能使用SetWIndowRect,因为这个函数也会发送WM_SIZE消息。是不是改变了lparam的值,然后返回个什么值呢?还有没有可以不发送WM_SIZE消息可以改变窗口大小的函数?
因为是在WM_SIZE里控制,如果函数改变窗口大小导致发送了WM_SIZE消息,就会造成循环引用,怎么办?

------解决方案--------------------
你这做法有点特殊哦,在大小改变时再去改变,不过有实际价值。
MoveWindow 和 SetWindowPos 都可以改变窗口大小,不过发不发这消息没有实验过。你测试下了。
------解决方案--------------------
用static变量写个if条件就不用死循环了啊!变一次就修改static的值,然后用else改回来,你试试
------解决方案--------------------
LRESULT CPrimeNumDlg::OnSizing(WPARAM wp,LPARAM lp){
RECT* p_rect = (RECT*)lp;
//在这里修改lp的值。比如
p_rect-> left = 100;
p_rect-> right = 200;
p_rect-> top = 10;
p_rect-> bottom = 400;
//就可以了。具体的你自己去写吧,不明白的看看MSDN 对wp,和lp的解释。

return FALSE;
}
------解决方案--------------------
用WM_SIZING