資源描述:
《《工具欄和狀態(tài)欄》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第四章菜單、工具欄和狀態(tài)欄4.1菜單4.2工具欄4.3狀態(tài)欄4.4交互對(duì)象的動(dòng)態(tài)更新4.5綜合應(yīng)用4.1菜單菜單是一系列命令的列表,通過選中其中的菜單項(xiàng)(命令)來執(zhí)行相應(yīng)任務(wù)。除一些簡(jiǎn)單的基于對(duì)話框的應(yīng)用程序外,所有的Windows應(yīng)用程序都提供了各自的菜單。為了使應(yīng)用程序更容易操作,對(duì)于菜單系統(tǒng)的設(shè)計(jì)還遵循下列一些規(guī)則:●若單擊某菜單項(xiàng)后,將彈出一個(gè)對(duì)話框,那么在該菜單項(xiàng)文本后有“…”。●若某項(xiàng)菜單有子菜單,那么在該菜單項(xiàng)文本后有“?”?!袢舨藛雾?xiàng)需要助記符,則用括號(hào)將帶下劃線的字母括起來。助記符與Alt構(gòu)成一個(gè)組合鍵,當(dāng)按住“Alt”鍵不放,再敲擊該字母時(shí),對(duì)應(yīng)的菜單項(xiàng)就會(huì)被選
2、中。●若某項(xiàng)菜單需要快捷鍵的支持,則一般將其列在相應(yīng)菜單項(xiàng)文本之后。所謂“快捷鍵”是一個(gè)組合鍵,如Ctrl+N,使用時(shí)是先按下“Ctrl”健不放,然后再按“N”鍵。任何時(shí)候按下快捷鍵,相應(yīng)的菜單命令都會(huì)被執(zhí)行。圖4.1是一個(gè)菜單樣例,注意它們的規(guī)則含義。需要說明的是,在常見的菜單系統(tǒng)中,最上面的一層水平排列的菜單稱為頂層菜單,每一個(gè)頂層菜單項(xiàng)可以是一個(gè)簡(jiǎn)單的菜單命令,也可以是下拉(Popup)菜單,在下拉菜單中的每一個(gè)菜單項(xiàng)也可是菜單命令或下拉菜單,這樣一級(jí)一級(jí)下去可以構(gòu)造出復(fù)雜的菜單系統(tǒng)。4.1菜單頂層菜單下拉菜單圖4.1菜單樣例4.1菜單4.1.1用編輯器設(shè)計(jì)菜單1.編輯菜單(
3、1)在頂層菜單的最后一項(xiàng),VisualC++自動(dòng)留出了一個(gè)空位置,用來輸入新的頂層菜單項(xiàng)。在菜單的空位置上雙擊鼠標(biāo)左鍵,出現(xiàn)菜單項(xiàng)的屬性對(duì)話框,在標(biāo)題框中輸入“測(cè)試(&T)”,結(jié)果如圖4.2所示,其中符號(hào)&用來將其后面的字符作為該菜單項(xiàng)的助記符,這樣當(dāng)按住“Alt”鍵不放,再敲擊該助記符鍵時(shí),對(duì)應(yīng)的菜單項(xiàng)就會(huì)被選中,或在菜單打開時(shí),直接按相應(yīng)的助記符鍵,對(duì)應(yīng)的菜單項(xiàng)也會(huì)被選中。子菜單的空位置頂層菜單的空位置圖4.2Ex_SDI菜單資源4.1菜單需要說明的是,VisualC++將頂層菜單項(xiàng)的默認(rèn)屬性定義為“彈出”(下拉)菜單,即該菜單項(xiàng)有下拉式子菜單。一個(gè)含有下拉子菜單的菜單項(xiàng)是不需
4、要相應(yīng)的ID標(biāo)識(shí)符。同時(shí),“彈出”菜單項(xiàng)的屬性對(duì)話框中,ID、分隔符(Separator)和提示(Prompt)項(xiàng)無效。表4.1列出菜單屬性對(duì)話框“常規(guī)”(General)的各項(xiàng)含義。表4.1菜單General屬性對(duì)話框的各項(xiàng)含義項(xiàng)目含義ID菜單的資源ID標(biāo)識(shí)符標(biāo)題(Caption)用來標(biāo)識(shí)菜單項(xiàng)顯示文本。助記符字母的前面須有一個(gè)&符號(hào),這個(gè)字母與Alt構(gòu)成組合鍵。分隔符(Separator)選中時(shí),菜單項(xiàng)是一個(gè)分隔符或是一條水平線已復(fù)選(Checked)選中時(shí),菜單項(xiàng)文本前顯示一個(gè)選中標(biāo)記彈出(Pop_up)選中時(shí),菜單項(xiàng)含有一個(gè)彈出式子菜單已變灰(Grayed)選中時(shí),菜單項(xiàng)顯
5、示是灰色的,用戶不能選用非活動(dòng)(Inactive)選中時(shí),菜單項(xiàng)沒有被激活,用戶不能選用幫助(Help)選中時(shí),菜單項(xiàng)在程序運(yùn)行時(shí)被放在頂層菜單的最右端中斷(Break,分塊)當(dāng)為“列”(Column)時(shí),對(duì)于頂層菜單上的菜單項(xiàng)來說,被放置在另外一行上,而對(duì)于彈出式子菜單的菜單項(xiàng)來說,則被放置在另外一列上;當(dāng)為“條”(Bar)時(shí),與Column相同,只不過對(duì)于彈出式子菜單來說,它還在新列與原來的列之間增加一條豎直線;注意這些效果只能在程序運(yùn)行后才能看到。提示(Prompt)用來指明光標(biāo)移至該菜單項(xiàng)時(shí)在狀態(tài)欄上顯示的提示信息4.1菜單(2)單擊“測(cè)試”菜單項(xiàng)下方的空位置,在菜單項(xiàng)屬性
6、對(duì)話框中,輸入標(biāo)題“切換菜單(&D)”,在ID框輸入該菜單項(xiàng)的資源標(biāo)識(shí)符:ID_TEST_CHANGE,結(jié)果如圖4.3所示。圖4.3修改菜單項(xiàng)屬性(3)關(guān)閉菜單項(xiàng)屬性對(duì)話框,單擊“測(cè)試”菜單項(xiàng)并按住鼠標(biāo)左鍵不放,移動(dòng)鼠標(biāo),將“測(cè)試”菜單項(xiàng)移到“查看”和“幫助”菜單項(xiàng)之間,然后釋放鼠標(biāo)。結(jié)果如圖4.4所示。這樣,就將新添加的“測(cè)試”菜單項(xiàng)拖放到“查看”和“幫助”菜單項(xiàng)之間了。需要說明的是,菜單項(xiàng)位置改變后,其屬性并沒改變。圖4.4菜單項(xiàng)“測(cè)試”拖放后的位置4.1菜單2.菜單命令的消息映射菜單項(xiàng)、工具欄的按鈕以及快捷鍵等用戶交互對(duì)象都能產(chǎn)生WM_COMMAND命令消息。命令消息能夠被文
7、檔類、應(yīng)用類、窗口類以及視圖類等多種對(duì)象接收、處理,且用戶可以用ClassWizard對(duì)命令消息進(jìn)行映射。例如,上述的“切換菜單”菜單項(xiàng)的命令映射過程如下:(1)選擇“查看”→“建立類向?qū)А辈藛蚊罨虬碈trl+W快捷鍵,則出現(xiàn)MFCClassWizard對(duì)話框,并自動(dòng)切換到MessageMaps頁(yè)面。(2)從“Classname”列表中選擇CMainFrame,在IDs列表中選擇ID_TEST_CHANGE,然后在Messages框中選擇COMMAND消息。單擊[A