上一節講了標簽控件Tab Control以后,常用控件的內容就全部講完了,當然并沒有包括所有控件,主要是一些很常用很重要的控件。本節開始雞啄米將為大家講解菜單的概念及使用。

       菜單簡介

       菜單在界面設計中是經常使用的一種元素,包括Windows系統中的窗口、智能終端設備的應用界面等都會經常見到菜單的身影。我們在對可視化窗口操作時,菜單確實提供了很大方便。

       菜單可以分為下拉式菜單和彈出式菜單。

       下拉式菜單一般在窗口標題欄下面顯示,大家還記得我們在VS2010/MFC編程入門之二(利用MFC向導生成單文檔應用程序框架)中創建的HelloWorld單文檔工程嗎?它的運行結果窗口的標題欄下就是下拉式菜單。下拉式菜單通常是由主菜單欄、子菜單及子菜單中的菜單項和分隔條所組成的。

       彈出式菜單一般可以通過單擊鼠標右鍵等操作顯示。它的主菜單不可見,只顯示子菜單。

       VS2010菜單資源詳解

       菜單也可以在VS2010的資源視圖中直接創建編輯。我們先來創建一個新的MFC單文檔工程,具體看看菜單的組成結構及各種標記的意義。

       按照VS2010/MFC編程入門之二中的步驟創建一個名為“Example34”的MFC單文檔工程。打開Resource View資源視圖,展開Example34->Example34.rc->Menu,我們可以看到有一個ID為IDR_MAINFRAME菜單資源,雙擊打開,菜單資源顯示如下圖:

VS2010菜單資源

       上邊包含“File”的一欄是主菜單欄,點擊“File”彈出子菜單,可以看到子菜單中有多個菜單項和分隔條。菜單項中含有“...”則表示點擊后會彈出對話框。

       除了這些,我們還注意到,很多菜單項的標題文本中都有一個字母帶下劃線,帶下劃線的字母為熱鍵,例如,主菜單欄上的“File”中字母“F”帶下劃線,F就是熱鍵,程序運行并顯示窗口時,在鍵盤上點擊Alt+F就等同于直接點菜單項File,彈出File下的子菜單后,點擊“Open”的熱鍵O就可以實現與直接點菜單項Open相同的功能。

       那么熱鍵是如何定義的呢?我們可以看下“File”菜單項的屬性,Caption為“&File”,很明顯,只要在要定義為熱鍵的字母前加&就可以了。

       有些菜單項的右側還顯示了一些字符串,例如,“New”的右側顯示有“Ctrl+N”,這些代表的是快捷鍵,也就是“New”菜單項的快捷鍵是Ctrl+N,“Open”菜單項的快捷鍵是Ctrl+O,用這些組合鍵就能實現與相應菜單項一樣的功能。

       快捷鍵如何定義?我們再來看看“Open”菜單項的Caption屬性,為“&Open...\tCtrl+O”,這里的\t表示在顯示前面的文本后跳格再顯示快捷鍵Ctrl+O,但這樣設置其Caption屬性只是能顯示出快捷鍵,要實現快捷鍵的功能還需要在Accelerator資源中設定。資源視圖中展開Example34.rc->Accelerator,雙擊打開下面的IDR_MAINFRAME,如下圖:

VS2010 Accelerator

       Accelerator中有四列,分別為:ID、Modifier、Key和Type。ID就是菜單項的ID,Modifer和Key就代表了組合鍵。例如,Open菜單項的ID為ID_FILE_OPEN,Modifer為“Ctrl”,Key為“O”。

       VS2010菜單資源編輯

       我們試著在Example34的IDR_MAINFRAME菜單資源中添加菜單項。

       在主菜單欄的“Help”菜單項上點右鍵,彈出右鍵菜單,選擇“Insert New”,就在“Help”菜單項前添加了一個空的菜單項,我們可以直接在其中輸入標題,也可以在屬性頁中設置Caption屬性,標題設為“&Tools”。

       然后編輯Tools下子菜單的第一個菜單項,標題設為“&Draw\tCtrl+D”,即熱鍵為D,快捷鍵為Ctrl+D。其ID默認為ID_TOOLS_DRAW。為了實現快捷鍵的功能,還需要編輯Accelerator,打開Accelerator,在最下面的空白行中,ID選擇為ID_TOOLS_DRAW,Modifier選擇“Ctrl”,Key輸入“D”,這樣就設置好了快捷鍵。

       最終的菜單資源如下圖:

VS2010菜單資源編輯

       本節內容就是這些了,主要是關于菜單的一些基礎知識,比較好理解。雞啄米歡迎大家繼續關注VS2010/MFC編程入門教程,關注本網站。

除非特別注明,雞啄米文章均為原創
轉載請標明本文地址:http://www.cpbsu.com/software/210.html
2012年7月26日
作者:雞啄米 分類:軟件開發 瀏覽: 評論:9