固定窗口大小的方法

来源:互联网 发布:淘宝权全民直播 编辑:程序博客网 时间:2024/05/19 06:17

先在框架窗口的PreCreateWindow函数中设置窗口的大小

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
 if( !CFrameWnd::PreCreateWindow(cs) )
  return FALSE;
 // TODO: 在此处通过修改
 //  CREATESTRUCT cs 来修改窗口类或样式
 cs.cx=WIDTH_MAINFRAME;          //设置大小
 cs.cy=HEIGHT_MAINFRAME;

cs.style&=~WS_MAXIMIZEBOX;  //取消最大化框
cs.style&=~FWS_ADDTOTITLE;
cs.lpszName=_T("Tetris");

 return TRUE;
}

截获WM_SIZING消息,作如下响应即可

void CMainFrame::OnSizing(UINT fwSide, LPRECT pRect)
{
 CFrameWnd::OnSizing(fwSide, pRect);

 // TODO: 在此处添加消息处理程序代码
 switch(fwSide) //用鼠标移动各边角时,窗口跟随
 {
 case 1://左面
  pRect->right=pRect->left+WIDTH_MAINFRAME;
  break;
  case 2://右边
  pRect->left=pRect->right-WIDTH_MAINFRAME;
  break;
 case 3://上
  pRect->bottom=pRect->top+HEIGHT_MAINFRAME;
  break;
 case 4://左上
  pRect->bottom=pRect->top+HEIGHT_MAINFRAME;
  pRect->right=pRect->left+WIDTH_MAINFRAME;
  break;
 case 5://右上
  pRect->left=pRect->right-WIDTH_MAINFRAME;
  pRect->bottom=pRect->top+HEIGHT_MAINFRAME;
  break;
 case 6://下
  pRect->top=pRect->bottom-HEIGHT_MAINFRAME;
  break;
 case 7://左下
  pRect->top=pRect->bottom-HEIGHT_MAINFRAME;
  pRect->right=pRect->left+WIDTH_MAINFRAME;
  break;
 case 8://右下
  pRect->top=pRect->bottom-HEIGHT_MAINFRAME;
  pRect->left=pRect->right-WIDTH_MAINFRAME;
  break;
 }
}

 

原创粉丝点击