freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

windows程序設(shè)計教程(下)ppt(編輯修改稿)

2025-11-14 21:20 本頁面
 

【文章內(nèi)容簡介】 GetDlgItem來取得控制項的代號。 設(shè)計模態(tài)對話框的步驟 ? 1. 編寫對話框模板 。 ? 2. 編寫對話框函數(shù)。在 DEF文件中,把對話框函數(shù)申明為 EXPORTS(如果在對話框函數(shù)名之前加 export,在 DEF文件中可省略對話框函數(shù)申明中的 EXPORTS)。例如, EXPORTS AboutDlgProc 在 .H文件中申明對話框函數(shù)的原型 模態(tài)對話框的實例分析 最簡單的模態(tài)對話框例程 程序請見( 教材程序 \11\111 ) 1. 2. 。 . 如何在窗口函數(shù)中啟動對話框請見 教材程序 \11\在窗口函數(shù)中啟動對話框 .doc 對話框模板和控制項的設(shè)計 ? 雖然 Visual C++ Developer Studio中的對話框編輯器使我們幾乎不用考慮資源描述的寫作問題,但是學習一些資源描述的語法還是有用的。就對話框模板來說,知道了語法,您就可以進一步了解對話框的范圍和限制。甚至當它不能滿足您的需要時,您還可以自己建立一個對話框模板 . 1. 對話框模板的語法 ? 語法包括: a) 窗口式樣, b) 對話框的標題欄 , c) 為對話框添加一個功能表 (或稱菜單 ) , d) 對話框的字體, 2. 自建對話框消息處理程序 ? 盡管對話框窗口消息處理程序通常位於Windows內(nèi)部,是內(nèi)定的,但是您也可以使用自己編寫的對話框窗口消息處理程序來處理對話框消息。要這樣做,您必須在對話框模板中指定一個對話框的窗口類名: CLASS classname 這種用法很少見, 3. 用 DialogBoxIndirect函數(shù)來定義模板 ? 如果你不希望在資源描述中定義對話框模板,而希望程序在執(zhí)行期間動態(tài)地建立對話框。那么,應用 DialogBoxIndirect函數(shù)就能完成這一工作, DialogBoxIndirect函數(shù)用它的參數(shù)組成的結(jié)構(gòu)來定義模板。 4. 對話框中所使用控制項的類型 ? 請見 教材程序 \11\對話框中所使用控制項的類型 .doc。 5. 對話框中控制項類型的申明格式 ? 對於這些控制項類型,除了 EDITTEXT、SCROLLBAR、 LISTBOX和 COMBOBOX之外,控制項申明的格式為: controltype text, id, xPos, yPos, xWidth, yHeight, iStyle ? 對於 EDITTEXT、 SCROLLBAR、 LISTBOX和COMBOBOX,其格式為: controltype id, xPos, yPos, xWidth, yHeight, iStyle ? 其中沒有文字的標題欄目。在這兩種申明中,iStyle參數(shù)都是選擇性的。 6. 用指定窗口類和指定窗口式樣建立特殊控制項類型 ? 資源編譯器可以用下面的特殊申明來建立控制項: CONTROL text, id, class, iStyle, xPos, yPos, xWidth, yHeight 此申明允許您通過指定窗口類和完整的窗口式樣來建立你所需要的控制項類型。例如,下面的申明: PUSHBUTTON OK, IDOK, 10, 20, 32, 14 您可以使用下面的特殊申明來取代: CONTROL OK, IDOK, button, WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | WS_TABSTOP, 10, 20, 32, 14 7. 對話框管理器是怎樣處理模板上控制項申明的 ? 請見 教材程序 \11\對話框管理器是怎樣處理模板上控制項申明的 .doc 較復雜模態(tài)對話框的例程 ? 例程請見( 教材程序 \11\112 ) 對話框函數(shù)中控制項的使用 ? 在第十章中,您已經(jīng)了發(fā)現(xiàn)大多數(shù)子窗口控制項會發(fā)送 WM_COMMAND消息給其父窗口(唯一例外的是滾動條控制項)。您也已經(jīng)看到,經(jīng)由父窗口發(fā)送消息給子窗口控制項就可以達到父窗口改變子窗口控制項狀態(tài)的目的。例如,選擇或不選擇單選按鈕。當把這些方法用于對話框的時候,對話框中的控制項就是子窗口,對話框就是父窗口。父窗口的窗口函數(shù)似乎就是對話框函數(shù)。因此,可以用類似方法在對話框函數(shù)中改變控制項,例如,如果您設(shè)計了一系列單選按鈕,就可以在對話框函數(shù)中發(fā)送消息給單選按鈕,以選擇或者不選擇這些按鈕。 1. 對話框函數(shù)與子窗口控制項相互通信的方式 ? ABOUT2的對話框模板顯示在的 ABOUT2。RC資源描述文件中。 GROUPBOX控制項只是一個帶標題(標題為“ Color”或者“ Figure”)的分組方塊。組內(nèi)的單選按鈕都由這樣的分組方塊包圍。前一組的八個單選按鈕是互斥的,第二組的兩個單選按鈕也是如此。 2. 設(shè)定按鈕”選中”或按鈕”未選中”標記的函數(shù) ? 如果要設(shè)定一個按鈕選中標記,可以使用: SendMessage (hwndCtrl, BM_SETCHECK, 1, 0) 。//把按鈕控制項設(shè)置成”選中” 要消除一個按鈕選中標記,您可以使用: SendMessage (hwndCtrl, BM_SETCHECK, 0, 0) 。 //把按鈕控制項設(shè)置成”未選中” 其中 hwndCtrl參數(shù)是按鈕子窗口控制項的窗口代號。 3. 取得子窗口控制項代號及 ID的方法 ? 要設(shè)置按鈕的”選中”與”未選中”,必須要知道按鈕控制項的代號,否則,在對話框函數(shù)中使用這種方法是有點問題的。幸運的是, Windows為您提供了一個函數(shù),可以 從對話框代號和按鈕控制項 ID來取得控制項的代號: hwndCtrl = GetDlgItem (hDlg, id) 。 // 從對話框代號和按鈕控制項 ID來取得控制項的窗口代號: hDlg是對話框的代號, id是控制項的 ID,返回的hwndCtrl是控制項的代號 . 4. 單選按鈕組互斥的實現(xiàn) ? 有下面幾種辦法。 ( 1)用循環(huán)體為 SendMessage函數(shù)的 for循環(huán)實現(xiàn)按鈕組互斥 。 ( 2) 用 SendDlgItemMessage循環(huán)實現(xiàn)按鈕互斥 。 ( 3) 使用 CheckRadioButton函數(shù)實現(xiàn)按鈕互斥 5. 核取方塊控制項的應用 ( 1) 用 CheckDlgButton設(shè)置 核取方塊控制項的狀態(tài) 。 ( 2)用 IsDlgButtonChecked詢問 核取方塊控制項的狀態(tài) 6. 對話框框中“ OK”和“ Cancel”按鈕的使用 ? 請見 教材程序 \11\對話框框中 OK和CONCEL的應用 .doc。 避免使用整體變量的方法 ? 避免使用整體變量的方法是在 typedef申明中定義一個結(jié)構(gòu),該結(jié)構(gòu)中包含對話框中的所有變量。例如,在 ABOUT2中,可以定義與“ About”方塊相聯(lián)系的結(jié)構(gòu): typedef struct { int iColor, iFigure 。 } ABOUTBOX_DATA 。//定義的結(jié)構(gòu)名 Tab鍵,游標移動鍵在控制項輸入焦點轉(zhuǎn)移中的應用 ? 要使對話框中的控制項具有如此功能,我們必須在對話框模板中使用 WS_TABSTOP和WS_GROUP窗口式樣以達到此目的。對於所有想要使用 Tab鍵進行輸入焦點轉(zhuǎn)移的控制項,都要在其窗口式樣中指定 WS_TABSTOP。對於所有想要使用游標移動鍵進行輸入焦點轉(zhuǎn)移的控制項,都要在其窗口式樣中指定 WS_GROUP。 ? ? 在處理 WM_INITDIALOG消息分支中,你將輸入焦點設(shè)定到你希望的控制項上,并從消息中返回 FALSE,否則 Windows將輸入焦點設(shè)定為對話框內(nèi)第一個具有WS_TABSTOP式樣的控制項。第一個具有 WS_TABSTOP式樣的控制項是指資源模板中 BEGIN…END 內(nèi)最先申明的控制項。 2. 游標移動鍵轉(zhuǎn)移控制項的輸入焦點 ? 要使用游標移動鍵,要使控制項獲得使用游標移動鍵這個功能,就必須在資源模板中控制項上使用 WS_GROUP窗口式樣。對於對話框模板中的特定控制項序列,Windows將使用游標移動鍵把輸入焦點從第一個具有 WS_GROUP式樣的控制權(quán)切換到下一個具有 WS_GROUP式樣的控制項中 3. 控制項文字欄目中“&”符號的應用 ? 文字欄目中的“&”將導致緊跟其後的字母以底線顯示,這就增加了另一種鍵盤介面,您可以通過按底線字母來將輸入焦點移動到任意單選按鈕上。透過按下 C(代表 Color 下拉式清單方塊)或者 F(代表 Figure 下拉式清單方塊),您可以將輸入焦點移動到相對應組內(nèi)當前選中的單選按鈕上。 4. 用函數(shù)找尋下一個或者前一個Tab鍵停留項或者組項 ? 找尋下一個或者前一個 Tab鍵停留項或者組項。這些函數(shù)為: hwndCtrl = GetNextDlgTabItem (hDlg, hwndCtrl, bPrevious) 。 和 hwndCtrl = GetNextDlgGroupItem (hDlg, hwndCtrl, bPrevious) 。 如果 bPrevious為 TRUE,那么函數(shù)返回前一個 Tab鍵停留項或組項;如果為 FALSE,則返回下一個Tab鍵停留項或者組項。 在對話框上畫圖 ? 對話框函數(shù)調(diào)用 PaintTheBlock函數(shù),這個函數(shù)在 : PaintTheBlock (hCtrlBlock, iColor, iFigure) 。 在 AboutDlgProc中,窗口代號 hCtrlBlock已經(jīng)在處理 WM_INITDIALOG消息時被設(shè)定:
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1