VC++6.0定制窗口的方法+框架窗體、文檔視圖

VC++6.0定制窗口的方法+框架窗體、文檔視圖

ID:37640480

大?。?92.23 KB

頁數(shù):84頁

時(shí)間:2019-05-27

VC++6.0定制窗口的方法+框架窗體、文檔視圖_第1頁
VC++6.0定制窗口的方法+框架窗體、文檔視圖_第2頁
VC++6.0定制窗口的方法+框架窗體、文檔視圖_第3頁
VC++6.0定制窗口的方法+框架窗體、文檔視圖_第4頁
VC++6.0定制窗口的方法+框架窗體、文檔視圖_第5頁
資源描述:

《VC++6.0定制窗口的方法+框架窗體、文檔視圖》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

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

2、檔界面下去掉開始的子窗口在多文檔界面下,自動(dòng)生成一個(gè)新的子窗口,而一個(gè)實(shí)際的應(yīng)用系統(tǒng)往往是由用戶操作后再生成新的窗口。為了去掉開始的子窗口,可在應(yīng)用程序文件分析命令行的語句CcommandLineInfocmdInfo;ParseCommandLine(cmdInfo);后加入:cmdInfo.m_nShellCommand=CcommandLineInfo::FileNothing;去掉子窗口后,就只剩下主框架窗口了。因?yàn)樵诙辔臋n界面中,系統(tǒng)生成兩個(gè)菜單:一個(gè)是用戶的菜單,另一個(gè)是系統(tǒng)主框架菜單。

3、通常用戶工作在用戶菜單。為了保證菜單界面不變,可修改主框架菜單資源,使其與用戶菜單保持一致。二、修改窗口標(biāo)題欄在缺省情況下,窗口標(biāo)題欄中顯示的文檔名為文件名。若要在標(biāo)題欄顯示一個(gè)長(zhǎng)字符串,而又不修改文件名,則可將項(xiàng)目工作區(qū)轉(zhuǎn)換到ResourceView面版,選擇串表(StringTable)資源,在StringTable中雙擊IDR-MAIN-FRAME項(xiàng),caption中顯示一字符串xxyy......,將第一個(gè)參數(shù)修改為用戶自己希望見到的主窗口標(biāo)題即可。三、修改主框架窗口、子窗口及其顯示性

4、質(zhì)可通過覆蓋CWnd的成員函數(shù)PreCreateWindow來修改主窗口和子窗口。PreCreateWindow函數(shù)在即將創(chuàng)建窗口前被調(diào)用,函數(shù)原型為:VirtualBOOLPreCreateWindow函數(shù)(CREATESTRUCTcs)。如果要覆蓋PreCreateWindow函數(shù),則在創(chuàng)建窗口前可以修改CREATESTRUCT結(jié)構(gòu)以替換缺省參數(shù)。CREATESTRUCT結(jié)構(gòu)存放窗口特征,如窗口坐標(biāo)、風(fēng)格等,還可以定義新窗口風(fēng)格。若想修改主框架窗口,則可以在MainFrm.cpp的下列成員函數(shù)中

5、加入待修改的內(nèi)容。例如:BOOLCmainFrame::PreCreateWindow(CREATESTRUCT&cs){//通過修改CREATESTRUCT結(jié)構(gòu)來修改窗口類或風(fēng)格//定義新窗口的高度、寬度cs.cx=450;cs.cy=300;//定義新窗口風(fēng)格為去掉主窗口名及最大化等按鈕cs.style=ws-POPWINDO;returnCframeWnd::PreCreateWindow(cs);}定制子窗口的操作與上述主窗口相同,可在ChildFrm.cpp中加入以下內(nèi)容:BOOLCmai

6、nFrame::PreCreateWindow(CREATESTRUCT&cs){//通過修改CREATESTRUCT結(jié)構(gòu)來修改窗口類或風(fēng)格returnCmdichildWnd::PreCreateWindow(cs);}要修改視圖窗口的顯示性質(zhì),則可在視圖文件xxView.cpp的下述成員函數(shù)中加入以下語句:BOOLxxView::PreCreateWindow(CREATESTRUCT&cs){//增加的語句cs.lpszClass=AfxRegisterWndClass(cs-HREDRAW

7、

8、CS-VREDRAW,0,(HBRUSH))::GetStockObject(WHITE-BRUSH),0);returnCscrollView::PreCreateWindow(cs);}其中,cs的參數(shù)pszClass用于存放Windows窗口類名稱。要想注冊(cè)Windows窗口類,則必須調(diào)用全局函數(shù)AfxRegisterWndClass。該函數(shù)原型為:LPCTSTRAFXAPIAfxRegisterWndClass(UINTnClassStyle,HCURSORhCursor=0,HBRUSHh

9、brBackground=0,HICONhIcon=0)上述各參數(shù)用于定義風(fēng)格,其含義分別為光標(biāo)資源句柄、背景資源句柄、圖標(biāo)資源句柄。上述增加的語句的作用是:改變窗口大小時(shí)重畫窗口、不顯示光標(biāo)圖標(biāo)、設(shè)置白色背景。四、窗口的滾動(dòng)使用CscrollView代替Cview類即可實(shí)現(xiàn)滾動(dòng)窗口。此時(shí),系統(tǒng)生成OnInitialUpdate()成員函數(shù):voidCmyscrollView::OnInitialUpdat(){CscrollView::OnIntialUpdate(

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

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

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