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

正文內(nèi)容

面向?qū)ο笈c可視化程序設(shè)計(jì)第六講(已修改)

2025-10-07 20:38 本頁(yè)面
 

【正文】 1 在 Windows應(yīng)用程序 中可以使用幾種不同類型的 資源 加速鍵 位圖 對(duì)話框 和菜單等 這些 資源 可以使用 VC提供的 資源編輯器 來(lái)實(shí)現(xiàn)創(chuàng)建和編輯 資源 的使用,方使了應(yīng)用 程序與用戶之間的交互 第 6講 資源在 Windows編程中的應(yīng)用 2 菜單 是 Windows圖形用戶界面 中窗口的重要組成部分 菜單 可使用戶直觀 地了解并使用應(yīng)用 程序所提供的功能 加速鍵 可使菜單 的操作更靈活快捷 兩種資源往往密不可分 窗口主菜單條 下拉式菜單框 菜單項(xiàng)熱鍵標(biāo)識(shí) 菜單項(xiàng)加速鍵標(biāo)識(shí) 菜單項(xiàng)分隔線 選中與否的標(biāo)識(shí) 3 創(chuàng)建菜單過(guò)程分為 定義 和 加載 兩個(gè)步驟 1. 定義菜單 選 項(xiàng) 說(shuō) 明D I S C A R D A B L E 當(dāng)不再需要菜單時(shí)可丟棄F I X E D 將菜單保存在內(nèi)存中的固定位置L O A D O N C A L L 需要時(shí)加載菜單M O V E A B L E 菜單在內(nèi)存中可移動(dòng)P R E L O A D 立即加載菜單菜單項(xiàng)是菜單的組成部分。應(yīng)用程序在資源描述文件中使用關(guān)鍵字POPUP和MENUITEM 定義菜單項(xiàng) 菜單名 MENU [,選項(xiàng) ] { 菜單項(xiàng)列表 } 菜單在資源描 述文件中定義 用以標(biāo)識(shí)菜 單所具有的 載入特性 菜單定義結(jié)構(gòu) 菜單名 MENU關(guān)鍵字 載 入 特 性 選 項(xiàng) 菜單項(xiàng) 4 POPUP語(yǔ)句定義 彈出式菜單 ,其形式為: POPUP“菜單項(xiàng)名 ” [,選項(xiàng) ]; 在菜單項(xiàng)名中加入符號(hào)“ amp?!笨啥x該菜單項(xiàng)的 熱鍵 。例如: POPUP“編輯( amp。E) ” ; 該菜單項(xiàng)使用 Alt+E鍵作為熱鍵。 菜單項(xiàng)的常用選項(xiàng)及其說(shuō)明見(jiàn)下表。 選 項(xiàng) 說(shuō) 明M E N U B A R B R E A K 菜單項(xiàng)縱向分隔標(biāo)志C H E C K E D 顯示選中標(biāo)志I N A C T I V E 禁止一個(gè)菜單項(xiàng)G R A Y E D 禁止一個(gè)菜單項(xiàng)并使其變灰顯示POPUP定義的彈出式菜單項(xiàng)還包含 子菜單 5 MENUIEM語(yǔ)句用于定義菜單項(xiàng),其形式為: MENUITEM“菜單項(xiàng)名 ” 菜單項(xiàng)標(biāo)識(shí)( ID) [,選項(xiàng) ] 每個(gè)菜單項(xiàng)的標(biāo)識(shí)必須唯一 應(yīng)用程序通過(guò)此標(biāo)識(shí)值確認(rèn)每一個(gè)菜單項(xiàng)消息 標(biāo)識(shí)值可為 0到 65535之間的任一整數(shù) ID為菜單 項(xiàng)標(biāo)識(shí) WM_COMMAND消息中 字參數(shù) wParam中包 含選中菜單項(xiàng)的標(biāo)識(shí) 使用下面的語(yǔ)句可創(chuàng)建菜單中的 水平分隔符 : MENUITEM SEPARATOR。 6 例 在“ Menu”的窗口中創(chuàng)建一個(gè)“文件”菜單。該菜單含有“新建”、“打開(kāi)”、“關(guān)閉”、“保存”、“另存為”及“退出”等菜單項(xiàng)。菜單項(xiàng)均使用熱鍵;并且“退出” 項(xiàng)與其他菜單項(xiàng)之間用分隔線分開(kāi)。 include include “” ∥ 菜單定義 Menu MENU MOVEABLE ∥ Menu為窗口菜單的名稱 { POPUP“文件 (amp。F)”∥ 定義 “ 文件 ” 彈出式菜單 { MENUITEM “新建 (amp。N)”, IDM_NEW MENUITEM “打開(kāi) (amp。O)”, IDM_OPEN MENUITEM “關(guān)閉 (amp。C)”, IDM_CLOSE MENUITEM “保存 (amp。S)”, IDM_SAVE MENUITEM “另存為 (amp。A)”, IDM_SAVEAS MENUITEM SEPARATOR ∥ 分隔線 MENUITEM “退出 (amp。X)”, IDM_EXIT } } 定義了菜單項(xiàng)標(biāo) 識(shí)所對(duì)應(yīng)的數(shù)值: … define IDM_NEW 10 define IDM_OPEN 11 define IDM_CLOSE 12 define IDM_SAVE 13 define IDM_SAVEAS 14 define IDM_EXIT 15 … 7 … WNDCLASS wndclass。 … =lpszMenuName。 1. 在窗口類 中加載菜單 應(yīng)用程序需先調(diào)用函數(shù) LoadMemu加載菜單 HMENU LoadMemu ( hInstance, //當(dāng)前程序的實(shí)例句柄 lpszMenuName //窗口菜單名 ); 如: hmenu=LoadMenu(hlnstance,Menu); hwnd=CreateWindow( … , hmenu, … ,); 2. 在創(chuàng)建 窗口時(shí) 加載菜單 3. 動(dòng)態(tài)加 載菜單 應(yīng)用程序獲取菜單句柄后,可通過(guò) SetMenu動(dòng)態(tài)地加載菜單 BOOL SetMenu ( // Hwnd為窗口句柄, hmenu為菜單句柄 HWND hwnd, HMENU hmenu); 在應(yīng)用程序中加載菜單有三種方法 可在同一個(gè)應(yīng)用 程序中實(shí)現(xiàn)多種 不同的菜單操作界面 8 菜單操作 禁止或激活菜單項(xiàng) (指定該菜單項(xiàng)的初始狀態(tài) ) 設(shè)置或取消選中標(biāo)志 (“ √” ) 增加、刪除或修改菜單項(xiàng) 9 創(chuàng)建菜單時(shí),可以調(diào)用函數(shù) EnableMenuItem改變其初始狀態(tài) DWORD EnableMenuItem( HMENU hmenu, UlNT wIDEnableItem, //被禁止或激活的菜單項(xiàng)標(biāo)識(shí) UINT dwEnable) //dwEnable為菜單項(xiàng)操作標(biāo)識(shí) MF_BYCOMMAND 以 ID值標(biāo)識(shí)菜單項(xiàng) MF_ENABLED 激活菜單項(xiàng) MF_BYPOSITION 以位置標(biāo)識(shí)菜單項(xiàng) MF_GRAYED 禁止菜單項(xiàng)并使其變灰顯示 MF_DISABLED 禁止菜單項(xiàng) 菜單項(xiàng)的 ID值 /在菜單中位置 例如,禁止彈出式菜單“文件”中的“打開(kāi)”項(xiàng)的形式如下: EnableMenuItem(hmenu,IDM_OPEN, MF_BYCOMMAND|MF_DISABLED); 1. 禁止或激活菜單項(xiàng) 10 1. 在資源描述文件中設(shè)置菜單項(xiàng)的為 CHECKED 2. 調(diào)用函數(shù) CheckMenuItem設(shè)置或取消選中標(biāo)志 DWORD CheckMenultem( HMENU hmen, UINT wIDCheckItem,//設(shè)置或取消選中標(biāo)志的菜單項(xiàng)標(biāo)識(shí)。 UINT dwCheck) //操作標(biāo)識(shí) 據(jù) dwCheck的取值,可為 該菜單項(xiàng)的 ID值或?yàn)樵? 菜單項(xiàng)在菜單中位置 MF_BYCOMMAND 表明以 ID值標(biāo)識(shí)菜單項(xiàng) MF_CHECKED 添加選中標(biāo)志 MF_BYPOSITION 表明以位置標(biāo)識(shí)菜單項(xiàng) MF_UNCHECKED 刪除選中標(biāo)志 2. 設(shè)置或取消選中 (“ √” )標(biāo)志 11 兩種形式: 尾部增加 / 菜單中插入 (a)在菜單的尾部增加菜單項(xiàng) 可調(diào)用函數(shù) AppendMenu BOOL AppendMenu( HMENU hmenu, //新菜單項(xiàng)的類型標(biāo)識(shí)或其他信息 UINT dwFlags, UINT dwIDNewItem,//菜單項(xiàng)的標(biāo)識(shí) 菜單項(xiàng)內(nèi)容 ,取決與 dwFlags參數(shù) LPCTSTR lpNewItem)// ID值; ,則為此菜單句柄 (b)在菜單中插入菜單項(xiàng) 調(diào)用函數(shù) InsertMenu BOOL lnsertMenu( HMENU hmenu, UINT wPosition, //菜單項(xiàng)插入的位置 //新菜單項(xiàng)的信息及對(duì) wPosition的解釋 UINT dwFlag, UINT dwIDNweltem,//菜單項(xiàng)的 ID標(biāo)識(shí) //菜單項(xiàng)的內(nèi)容 LPCTSTR lpNewltem) dwFlag MF_BYCOMMAND: wPosition為插入位置的下一個(gè)菜單項(xiàng)的 ID值 MF_BYPOSITION: wPosition為插入的位置號(hào) 3. 增加菜單項(xiàng) 12 例如: 在彈出式菜單“ 文件”的“ 退出”項(xiàng)之前加入新的菜單項(xiàng)“ 打印”的語(yǔ)句 lnsertMenu (hmenu, IDM_EXIT, MF_BYCOMMAND |MF_ ENABLED, IDM_PRINT, “ 打?。?amp。P) ” ); 例如在彈出式菜單“文件”的末尾增加一項(xiàng)“關(guān)于”的形式如下: AppendMenu(hmenu,MF_ENABLED,IDM_ABOUT,“關(guān)于( amp。A) ” ); 應(yīng)用程序可調(diào)用函數(shù) DeleteMenu 刪除菜單項(xiàng) BOOL DeleteMenu( HMENU hmenu, UINT wPosition,//要?jiǎng)h除菜單項(xiàng)的位置 UINT dwFlag)。 //對(duì) wPosition的解釋 例如,刪除彈出式“文件”菜單中的“另存為”項(xiàng)的形式如下: DeleteMenu (hmenu, IDM_SAVEAS, MF_BYCOMMAND) 若刪除的菜 單項(xiàng)含有彈出式菜單 則同時(shí)被刪除。 4. 刪除菜單項(xiàng) 13 調(diào)用函數(shù) ModifyMenu可 修改菜單中的某個(gè)項(xiàng) BOOL ModifyMenu( HMENU hmenu, UINT wPosition, //指定需修改的菜單項(xiàng)位置 UINT dwFlag, UINT dwIDNweItem, //一般為修改后菜單項(xiàng)的標(biāo)識(shí) LPCTSTR lpNewItem)。 //一般為修改后的菜單項(xiàng)名 例如修改彈出式菜單“文件”中“打開(kāi)”項(xiàng)為“加載”項(xiàng)的語(yǔ)句如下 ModifyMenu(hmenu,IDM_OPEN,MF_BYCOMMAND,IDM _LOAD“加載 (amp。L)”); 14 1. 調(diào)用函數(shù) CreateMenu創(chuàng)建空的彈出式菜單 HMENU CreateMenu (void) 2.調(diào)用函數(shù) AppendMenu或 InsertMenu在該菜單中加入菜單項(xiàng); AppendMenu ( hmenu, //已有的菜單句柄 MF_POPUP, (UINT)hmenuPopup, //創(chuàng)建的彈出式菜單句柄 lpszTitie //彈出式菜單的名字 ); 動(dòng)態(tài)地創(chuàng)建菜單可使系統(tǒng)資源更加節(jié)省,創(chuàng)建菜單分兩個(gè)步驟 動(dòng)態(tài)地創(chuàng)建菜單 15 例如,在窗口菜單中動(dòng)態(tài)創(chuàng)建彈出式菜單“編輯”的過(guò)程如下: … HMENU hmenu。 //主窗口菜單句柄 HMENU hPopupmenu。 //創(chuàng)建新的菜單句柄 … 定義菜單句柄 hPopupmenu=CreateMenu( )。 … //將彈出式菜單加入到菜單中 AppendMenu(hmenu,MF_POPUP,(UINT)hPopupmenu,“編輯 (amp。E)”); 16 常伴隨菜單使用的一種非常有用的資源 創(chuàng)建加速鍵的步驟 加速鍵資源 加速鍵定義 的格式為: 鍵名, 加速鍵標(biāo)識(shí) (ID),[類型 ][NOINVERT][ALT][SHIFT][CONTROL] 組合鍵的組合方式 使用加速鍵時(shí),菜單項(xiàng)不高亮度顯示 標(biāo)識(shí)該鍵為標(biāo)準(zhǔn)鍵還是虛擬鍵 與所表示的菜單項(xiàng)標(biāo)識(shí)相同的標(biāo)識(shí)值 17 常用的加速鍵有兩種形式: ① “ ^char”, id 與 Ctrl 鍵組合的加速鍵。例如“文件”菜單中“保存”項(xiàng)的加速鍵可定義為: “ ^S” , IDM_SAVE ② nCode, id, VIRTKEY 使用虛擬鍵作為加速鍵。如 VK_F1,VK_DELETE等。例如將 F1鍵定義為“幫助”菜單項(xiàng)的加速鍵,其形式如下: VK_F1,IDM_HELP,VIRTKEY 下面是資源描述文件對(duì)名為“ Menu”的窗口菜單項(xiàng)的加速鍵定義: include include … ∥ 菜單定義 ∥ 加速鍵表定義 Menu ACCELERATORS ∥ 加速鍵表名為 “ Menu” { “ ^N”,IDM_NEW “ ^O”,IDM_OPEN “ ^S”,IDM_SAVE } 18 加載加速鍵資源 通過(guò)函數(shù) LoadAccelerators加載加速鍵資 源,其形式為: … HACCEL hAccel; … hAccel=LoadAccelerators ( hInstance, // hInstance為當(dāng)前
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1