這個剛生成的程式就3個cpp檔案,分別是MainFrm.cpp、ChildView.cpp和一個專案名.cpp。在哪里調整視窗的大小啊,求助!
uj5u.com熱心網友回復:
CMainFrame::里afx_msg void OnSize(UINT nType, int cx, int cy);
ON_WM_SIZE()
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CFrameWnd::OnSize(nType, cx, cy);
CRect rc;
m_wndToolBar.GetWindowRect(&rc);
m_ToolBarHeight=rc.Height();//24 +GetSystemMetrics(SM_CYEDGE);
//
m_frmWidth=cx;
m_frmHeight=cy-m_ToolBarHeight+1;
m_frmChildX=cx/m_CurrentRow;
m_frmChildY=m_frmHeight/m_CurrentCol;
// TODO: Add your message handler code here
}
uj5u.com熱心網友回復:
我新建的CFrameWnd類中好像沒有那么多的m_變數
uj5u.com熱心網友回復:
這是 例子 你 按需要 編uj5u.com熱心網友回復:
拖動 邊框 會有這個訊息uj5u.com熱心網友回復:
如果是自己定義的變數,那光改變變數的值沒有函式應該不起什么作用吧?uj5u.com熱心網友回復:
沒有函式 ? RedrawWindow ?uj5u.com熱心網友回復:
如果一開始 調大小:BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
CRect winRc(0,0,800,450);// "bg" add=49; 800+49=849
AdjustWindowRect(&winRc, WS_CAPTION, TRUE);
cs.cx=winRc.Width();
cs.cy=winRc.Height();
//
return TRUE;
}
uj5u.com熱心網友回復:
謝謝,原來CREATESTRUCT結構還有cx和xy變數,之前忽略了,這樣直接改的話確實很簡單。uj5u.com熱心網友回復:
在你的App類里找到BOOL CXXXApp::InitInstance()函式,修改主視窗顯示代碼,可以最大化。pMainFrame->ShowWindow(SW_MAXIMIZE);
或者在下面直接用MoveWindows來調整位置,代碼如下:
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
CRect rect(200, 200, 1200, 1000);
pMainFrame->MoveWindow(rect);
uj5u.com熱心網友回復:
多謝!這個方法確實可行。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/20112.html
標籤:基礎類
上一篇:關于圖形分割邊緣提取的問題
