使用VC++時(shí),輸出調(diào)試通常用于在輸出窗口中寫(xiě)入調(diào)試信息,如果輸出信息遵循某種格式,單擊輸出窗口中相應(yīng)的輸出文本將跳轉(zhuǎn)到相應(yīng)的代碼行,下面就跟著武林技術(shù)頻道小編來(lái)了解VC小技巧匯總之窗口技巧吧!
1.讓窗口一啟動(dòng)就最大化
把應(yīng)用程序類(lèi)(CxxxApp)的 InitInstance() 函數(shù)中的
m_pMainWnd->ShowWindow(SW_SHOW);
改為
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
則窗口一啟動(dòng)就最大化顯示。
2.如何設(shè)置窗口的初始尺寸
在將應(yīng)用程序類(lèi)(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)用程序類(lèi)(CxxxApp)的 InitInstance() 函數(shù)中加入:
m_pMainWnd->CenterWindow( GetDesktopWindow() );
②在主框架類(lèi)(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() ); //使窗口打開(kāi)時(shí)處于屏幕正中 return 0; }4.如何修改窗口標(biāo)題
窗口標(biāo)題一般形式為:文檔標(biāo)題 - 程序標(biāo)題
(1)設(shè)置文檔標(biāo)題:
在文檔類(lèi)(CxxxDoc)的OnNewDocument()函數(shù)中加入語(yǔ)句: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)題:
在框架類(lèi)(CMainFrame)的PreCreateWindow()函數(shù)中加入語(yǔ)句: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)題一般在打開(kāi)文件函數(shù)OnFileOpen()和另存為函數(shù)OnFileSaveAs()中進(jìn)行,可以使用下面的函數(shù):
AfxGetMainWnd()->SetWindowText("文檔標(biāo)題"+" - "+"程序標(biāo)題");其中文檔標(biāo)題和程序標(biāo)題可使用定義過(guò)的串變量。
以上就是關(guān)于VC小技巧匯總之窗口技巧的全部?jī)?nèi)容,相信今天你又學(xué)了一招了吧?更多專(zhuān)業(yè)的編程知識(shí)請(qǐng)關(guān)注武林技術(shù)頻道,相信我們能為你提供最佳的服務(wù)。
新聞熱點(diǎn)
疑難解答
圖片精選