本文搜集匯總了VC小技巧的窗口技巧,對(duì)于VC程序開發(fā)的窗口設(shè)計(jì)而言有一定的借鑒價(jià)值,詳情如下:
1.讓窗口一啟動(dòng)就最大化
把應(yīng)用程序類(CxxxApp)的 InitInstance() 函數(shù)中的
m_pMainWnd->ShowWindow(SW_SHOW);
改為
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
則窗口一啟動(dòng)就最大化顯示。
2.如何設(shè)置窗口的初始尺寸
在將應(yīng)用程序類(CxxAPP)的 InitInstance() 函數(shù)中加入:
m_pMainWnd->SetWindowPos(NULL,x,y,Width,Height,SWP_NOMOVE);
Width為窗口寬度,Height為窗口高度
SWP_NOMOVE表示忽略位置(x,y)。
如:
BOOL CDzyApp::InitInstance(){ AfxEnableControlContainer(); …… // The one and only window has been initialized, so show and update it. m_pMainWnd->SetWindowPos(NULL,0,0,750,555,SWP_NOMOVE);//設(shè)置窗口的初始大小為750*555 m_pMainWnd->ShowWindow(SW_SHOW); m_pMainWnd->UpdateWindow(); return TRUE; }3.讓窗口居中顯示
以下兩種方法可任選其一:
①在應(yīng)用程序類(CxxxApp)的 InitInstance() 函數(shù)中加入:
m_pMainWnd->CenterWindow( GetDesktopWindow() );
②在主框架類(MainFrm.cpp)的OnCreate()函數(shù)中加入:
CenterWindow( GetDesktopWindow() );
如:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; …… // TODO: Delete these three lines if you don't want the toolbar to // be dockable m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); CenterWindow( GetDesktopWindow() ); //使窗口打開時(shí)處于屏幕正中 return 0; }4.如何修改窗口標(biāo)題
窗口標(biāo)題一般形式為:文檔標(biāo)題 - 程序標(biāo)題
(1)設(shè)置文檔標(biāo)題:
在文檔類(CxxxDoc)的OnNewDocument()函數(shù)中加入語句:SetTitle("文檔名");
如:TextEditorDoc.cpp:
BOOL CTextEditorDoc::OnNewDocument() { if (!CDocument::OnNewDocument()) return FALSE; // TODO: add reinitialization code here // (SDI documents will reuse this document) SetTitle("未命名.txt"); //設(shè)置文檔標(biāo)題 return TRUE; }(2)設(shè)置程序標(biāo)題:
在框架類(CMainFrame)的PreCreateWindow()函數(shù)中加入語句:m_strTitle = _T("程序標(biāo)題");
如:MainFrm.cpp:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs m_strTitle = _T("文本整理器"); //設(shè)置程序標(biāo)題 return TRUE; }以上兩點(diǎn)比較適用于視圖-文檔結(jié)構(gòu)的程序,在新建文檔時(shí),系統(tǒng)會(huì)自動(dòng)運(yùn)行OnNewDocument()函數(shù),在其中可以設(shè)置合適的標(biāo)題。對(duì)于未采用文檔的程序可以用下面的方法修改標(biāo)題:
(3)修改窗口標(biāo)題:
修改窗口標(biāo)題一般在打開文件函數(shù)OnFileOpen()和另存為函數(shù)OnFileSaveAs()中進(jìn)行,可以使用下面的函數(shù):
AfxGetMainWnd()->SetWindowText("文檔標(biāo)題"+" - "+"程序標(biāo)題");其中文檔標(biāo)題和程序標(biāo)題可使用定義過的串變量。
新聞熱點(diǎn)
疑難解答
圖片精選