VC小技巧匯總之窗口技巧
本文搜集匯總了VC小技巧的窗口技巧,對于VC程序開發(fā)的窗口設(shè)計而言有一定的借鑒價值,詳情如下:
1.讓窗口一啟動就最大化
把應(yīng)用程序類(CxxxApp)的 InitInstance() 函數(shù)中的
m_pMainWnd->ShowWindow(SW_SHOW);
改為
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
則窗口一啟動就最大化顯示。
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() ); //使窗口打開時處于屏幕正中 return 0; }
4.如何修改窗口標題
窗口標題一般形式為:文檔標題 - 程序標題
(1)設(shè)置文檔標題:
在文檔類(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è)置文檔標題 return TRUE; }
(2)設(shè)置程序標題:
在框架類(CMainFrame)的PreCreateWindow()函數(shù)中加入語句:m_strTitle = _T("程序標題");
如: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è)置程序標題 return TRUE; }
以上兩點比較適用于視圖-文檔結(jié)構(gòu)的程序,在新建文檔時,系統(tǒng)會自動運行OnNewDocument()函數(shù),在其中可以設(shè)置合適的標題。對于未采用文檔的程序可以用下面的方法修改標題:
(3)修改窗口標題:
修改窗口標題一般在打開文件函數(shù)OnFileOpen()和另存為函數(shù)OnFileSaveAs()中進行,可以使用下面的函數(shù):
AfxGetMainWnd()->SetWindowText("文檔標題"+" - "+"程序標題");
其中文檔標題和程序標題可使用定義過的串變量。
相關(guān)文章

C++中new/delete與malloc/free的區(qū)別小結(jié)

Qt+QListWidget實現(xiàn)氣泡聊天界面(附源碼)

C++函數(shù)的嵌套調(diào)用和遞歸調(diào)用學習教程

C++應(yīng)用Eigen庫對應(yīng)實現(xiàn)matlab中部分函數(shù)問題