发信人: girlrong() 
整理人: wenbobo(2002-12-06 23:21:11), 站内信件
 | 
 
 
     不论是WM_SIZING或WM_MOVING,它们的lParam参数都是一个指向RECT结构的 对象的指针,该对象中装有窗口改变尺寸或位置后的左上角和右下角坐标。注意 此时窗口实际上还没有改变到这个位置,所以可以通过改变这个RECT结构的对象 的成员值来限制窗口尺寸和位置的变化方向。
     在mfc里,就是在OnSizing和OnMoving函数里来做这个工作。这两个函数的p Rect参数就是消息里的(RECT*)lParam。
 
 void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect) 
 {
     CFrameWnd::OnSizing(fwSide, pRect);
 	
     //限制窗口只能改变右边的尺寸
     RECT rect;
     GetWindowRect(&rect);
     pRect->left=rect.left;
     pRect->bottom=rect.bottom;
     pRect->top=rect.top;
 }
 
 void CMainFrame::OnMoving(UINT fwSide, LPRECT pRect) 
 {
     CFrameWnd::OnMoving(fwSide, pRect);
 	
     //限制窗口只能上下移动
     RECT rect;
     GetWindowRect(&rect);
     pRect->left=rect.left;
     pRect->right=rect.right;
 }
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.244.1]
  | 
 
 
 |