VC++ 5.0定制窗口的方法

VC++ 5.0定制窗口的方法

ID:38086863

大小:21.04 KB

頁數(shù):4頁

時間:2019-05-28

VC++ 5.0定制窗口的方法_第1頁
VC++ 5.0定制窗口的方法_第2頁
VC++ 5.0定制窗口的方法_第3頁
VC++ 5.0定制窗口的方法_第4頁
資源描述:

《VC++ 5.0定制窗口的方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、VC++5.0定制窗口的方法  VC++5.0是Microsoft新近推出的可視化C++集成開發(fā)環(huán)境,它在繼承以前VC++的基礎(chǔ)上增加了許多新的功能,用于支持Win32平臺應(yīng)用程序、服務(wù)程序和控件的開發(fā)。VC++5.0提供了強大、快捷的編程工具,其中最基本的是三個導(dǎo)航系統(tǒng):AppWizard用于程序框架的生成,AppStudio用于資源的編輯,ClassWizard用于類的編輯和管理。其中,窗口、菜單等無需用戶編寫程序,而由系統(tǒng)自動生成。但在許多情況下,用戶要設(shè)置自己希望的窗口(即定制窗口)?! ∫?、如何在多文檔界面下去掉開始的子窗口  在多文檔界面下,自動生成一個新的子窗口,而一

2、個實際的應(yīng)用系統(tǒng)往往是由用戶操作后再生成新的窗口。為了去掉開始的子窗口,可在應(yīng)用程序文件分析命令行的語句  CCommandLineInfocmdInfo;  ParseCommandLine(cmdInfo);  后加入:  cmdInfo.m_nShellCommand=CCommandLineInfo::FileNothing;  去掉子窗口后,就只剩下主框架窗口了。因為在多文檔界面中,系統(tǒng)生成兩個菜單:一個是用戶的菜單,另一個是系統(tǒng)主框架菜單。通常用戶工作在用戶菜單。為了保證菜單界面不變,可修改主框架菜單資源,使其與用戶菜單保持一致?! 《⑿薷拇翱跇祟}欄  在缺省情況下,

3、窗口標題欄中顯示的文檔名為文件名。若要在標題欄顯示一個長字符串,而不修改文件名,則可將項目工作區(qū)轉(zhuǎn)換到ResourceView面板,選擇串表(StringTable)資源,在StringTable中雙擊IDR_MAINFRAME項,caption中顯示一字符串xxyy......,將第一個參數(shù)修改為用戶自己希望見到的主窗口標題即可?! ∪?、修改主框架窗口、子窗口及其顯示性質(zhì)  可通過覆蓋CWnd的成員函數(shù)PreCreateWindow來修改主窗口和子窗口。PreCreateWindow函數(shù)在即將創(chuàng)建窗口前被調(diào)用,函數(shù)原型為:VirtualBOOLPreCreateWindow

4、(CREATESTRUCTcs)。如果要覆蓋PreCreateWindow函數(shù),則在創(chuàng)建窗口前可以修改CREATESTRUCT結(jié)構(gòu)以替換缺省參數(shù)。CREATESTRUCT結(jié)構(gòu)存放窗口特征,如窗口坐標、風格等,還可以定義新窗口風格?! ∪粝胄薷闹骺蚣艽翱?,則可在MainFrm.cpp的下列成員函數(shù)中加入待修改的內(nèi)容。例如:  BOOLCMainFrame::PreCreateWindow(CREATESTRUCT&cs)  {  //通過修改CREATESTRUCT結(jié)構(gòu)來修改窗口類或風格  //定義新窗口的高度、寬度  cs.cx=450;  cs.cy=300;  //定義新窗口風

5、格為去掉主窗口名及最大化等按鈕  cs.style=WS_POPWINDO;  returnCFrameWnd::PreCreateWindow(cs);  }  定制子窗口的操作與上述主窗口相同,可在ChildFrm.cpp中加入以下內(nèi)容:  BOOLCChildFrame::PreCreateWindow(CREATESTRUCT&cs)  {  //通過修改CREATESTRUCT結(jié)構(gòu)來修改窗口類或風格  returnCMDIChildWnd::PreCreateWindow(cs);  }  要想修改視圖窗口的顯示性質(zhì),則可在視圖文件xxView.cpp的下述成員函數(shù)中加入

6、以下語句:  BOOLxxView::PreCreateWindow(CREATESTRUCT&cs)  {  //增加的語句  cs.lpszClass=AfxRegisterWndClass(CS_HREDRAW

7、CS_VREDRAW,  0,(HBRUSH)::GetStockObject(WHITE_BRUSH),0);  returnCScrollView::PreCreateWindow(cs);  }  其中,cs的參數(shù)pszClass用于存放Windows窗口類名稱。要想注冊Windows窗口  類,則必須調(diào)用全局函數(shù)AfxRegisterWndClass。該函數(shù)原

8、型為:  LPCTSTRAFXAPIAfxRegisterWndClass(UINTnClassStyle,HCURSORhCursor=0,HBRUSHhbrBackground=0,HICONhIcon=0)  上述各參數(shù)用于定義風格,其含義分別為光標資源句柄、背景資源句柄、圖標資源句柄。上述增加的語句的作用是:改變窗口大小時重畫窗口、不顯示光標圖標、設(shè)置白色背景。  四、窗口的滾動  使用CScrollView代替CView類即可實現(xiàn)滾動窗口。此時,系統(tǒng)生成On

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。