windows對(duì)話框設(shè)計(jì)

windows對(duì)話框設(shè)計(jì)

ID:15451751

大小:388.00 KB

頁(yè)數(shù):115頁(yè)

時(shí)間:2018-08-03

windows對(duì)話框設(shè)計(jì)_第1頁(yè)
windows對(duì)話框設(shè)計(jì)_第2頁(yè)
windows對(duì)話框設(shè)計(jì)_第3頁(yè)
windows對(duì)話框設(shè)計(jì)_第4頁(yè)
windows對(duì)話框設(shè)計(jì)_第5頁(yè)
資源描述:

《windows對(duì)話框設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、對(duì)話框如果有很多輸入超出了菜單可以處理的程度,那么我們可以使用對(duì)話框來(lái)取得輸入信息。程序?qū)懽髡呖梢酝ㄟ^(guò)在某選項(xiàng)后面加上省略號(hào)(…)來(lái)表示該菜單項(xiàng)將啟動(dòng)一個(gè)對(duì)話框。對(duì)話框的一般形式是包含多種子窗口控件的彈出式窗口,這些控件的大小和位置在程序資源描述文件的「對(duì)話框模板」中指定。雖然程序?qū)懽髡吣軌颉甘止ぁ苟x對(duì)話框模板,但是現(xiàn)在通常是在VisualC++DeveloperStudio中以交談式操作的方式設(shè)計(jì)的,然后由DeveloperStudio建立對(duì)話框模板。當(dāng)程序呼叫依據(jù)模板建立的對(duì)話框時(shí),MicrosoftWindows98負(fù)責(zé)建立彈出式對(duì)話框窗口和子窗口控件,并提供處理對(duì)話

2、框消息(包括所有鍵盤和鼠標(biāo)輸入)的窗口消息處理程序。有時(shí)候稱呼完成這些功能的Windows內(nèi)部程序代碼為「對(duì)話框管理器」。Windows的內(nèi)部對(duì)話框窗口消息處理程序所處理的許多消息也傳遞給您自己程序中的函數(shù),這個(gè)函數(shù)即是所謂的「對(duì)話框程序」或者「對(duì)話程序」。對(duì)話程序與普通的窗口消息處理程序類似,但是也存在著一些重要區(qū)別。一般來(lái)說(shuō),除了在建立對(duì)話框時(shí)初始化子窗口控件,處理來(lái)自子窗口控件的消息以及結(jié)束對(duì)話框之外,程序?qū)懽髡卟恍枰俳o對(duì)話框程序增加其它功能。對(duì)話程序通常不處理WM_PAINT消息,也不直接處理鍵盤和鼠標(biāo)輸入。對(duì)話框這個(gè)主題的含義太廣了,因?yàn)樗€包含子窗口控件的使用。

3、不過(guò),我們已經(jīng)在第九章研究了子窗口控件。當(dāng)您在對(duì)話框中使用子窗口控件時(shí),第九章所提到的許多工作都可以由Windows的對(duì)話框管理器來(lái)完成。尤其是,在程序COLORS1中遇到在滾動(dòng)條之間切換輸入焦點(diǎn)的問(wèn)題也不會(huì)在對(duì)話框中出現(xiàn)。Windows會(huì)處理對(duì)話框中的控件之間切換輸入焦點(diǎn)所必需完成的全部工作。不過(guò),在程序中添加對(duì)話框要比添加圖標(biāo)或者菜單更麻煩一些。我們將從一個(gè)簡(jiǎn)單的對(duì)話框開(kāi)始,讓您對(duì)各部分之間的相互聯(lián)系有所了解。模態(tài)對(duì)話框?qū)υ捒蚍譃閮深悾骸改B(tài)的」和「非模態(tài)的」,其中模態(tài)對(duì)話框最為普遍。當(dāng)您的程序顯示一個(gè)模態(tài)對(duì)話框時(shí),使用者不能在對(duì)話框與同一個(gè)程序中的另一個(gè)窗口之間進(jìn)行切換

4、,使用者必須主動(dòng)結(jié)束該對(duì)話框,這藉由通過(guò)按一下「OK」或者「Cancel」鍵來(lái)完成。不過(guò),在顯示模態(tài)對(duì)話框時(shí),使用者通??梢詮哪壳暗某绦蚯袚Q到另一個(gè)程序。而有些對(duì)話框(稱為「系統(tǒng)模態(tài)」)甚至連這樣的切換程序操作也不允許。在Windows中,顯示了系統(tǒng)模態(tài)對(duì)話框之后,要完成其它任何工作,都必須先結(jié)束該對(duì)話框。建立「About」對(duì)話框Windows程序即使不需要接收使用者輸入,也通常具有由菜單上的「About」選項(xiàng)啟動(dòng)的對(duì)話框,該對(duì)話框用來(lái)顯示程序的名字、圖標(biāo)、版權(quán)旗標(biāo)和標(biāo)記為「OK」的按鍵,也許還會(huì)有其它信息(例如技術(shù)支持的電話號(hào)碼)。我們將要看到的第一個(gè)程序除了顯示一個(gè)「Ab

5、out」對(duì)話框外,別無(wú)它用。這個(gè)ABOUT1程序如程序11-1所示:程序11-1ABOUT1ABOUT1.C/*------------------------------------------------------------------------ABOUT1.C--AboutBoxDemoProgramNo.1(c)CharlesPetzold,1998-------------------------------------------------------------------------*/#include#include"resou

6、rce.h"LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);BOOLCALLBACKAboutDlgProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){staticTCHARszAppName[]=TEXT("About1");MSGmsg;HWNDhwnd;WNDCLASSwndclass;wndclass.style=CS_HREDRAW

7、CS_V

8、REDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(hInstance,szAppName);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUS

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(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)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。