国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

創(chuàng)建C++ Builder菜單

2019-11-17 05:21:06
字體:
供稿:網(wǎng)友

  4.7.2 創(chuàng)建菜單
    可將每個(gè)要包含在應(yīng)用程序中的菜單組件加到一個(gè)或多個(gè)窗體中??梢酝耆珡念^開始去創(chuàng)建每個(gè)菜單,或從預(yù)定義的菜單模板開始。
本節(jié)討論設(shè)計(jì)時(shí)創(chuàng)建菜單的基礎(chǔ)。

1.命名菜單
    和其他所有組件一樣,將一個(gè)菜單組件加到窗體中, C++ Builder賦給它一個(gè)缺省名,例如MainMenu1??筛鶕?jù)Object Pascal命名規(guī)則給該菜單一個(gè)更有意義的名字。
    C++ Builder把菜單名加到窗體類型聲明中,同時(shí)該菜單名出現(xiàn)在組件列表中。

2.命名菜單項(xiàng)
    和菜單組件相反,在將菜單項(xiàng)加入窗體時(shí)需要顯式地給菜單項(xiàng)命名。這有兩種方式:
· 直接在name屬性中鍵入值。
· 先在Caption屬性中鍵入值,然后讓C++ Builder由Caption屬性派生出name屬性值。
    例如,假如將Caption屬性設(shè)為File, C++ Builder指定菜單項(xiàng)name屬性為F i l e 1。若你在填充Caption屬性之前填寫了name屬性, C++ Builder將在填充C a p t i o n屬性之前將其值保持為空。
    注重若填充Caption屬性時(shí)使用了無效的C + +標(biāo)識(shí)符, C++ Builder會(huì)相應(yīng)地修改name屬性。例如,假如希望標(biāo)題以數(shù)字開始, C++ Builder會(huì)在數(shù)字前冠以字符以派生name屬性。
    表4 - 1舉出了這樣的一些例子,假定表中所有的菜單項(xiàng)出現(xiàn)在相同的菜單欄中。
創(chuàng)建C++ Builder菜單(圖一)
點(diǎn)擊查看大圖


    和菜單組件一樣, C++ Builder會(huì)把菜單項(xiàng)名加到窗體類型聲明中,同時(shí)這些菜單項(xiàng)名出現(xiàn)在組件列表中。

3. 新增、插入和刪除菜單項(xiàng)
    下列過程描述如何完成創(chuàng)建菜單結(jié)構(gòu)的基本任務(wù)。每個(gè)過程都假定有一個(gè)打開的菜單設(shè)計(jì)器窗口。
    若要在設(shè)計(jì)時(shí)加入菜單項(xiàng):

1) 選擇需在何處創(chuàng)建菜單項(xiàng)。假如是初次打開菜單設(shè)計(jì)器,則菜單欄的第一個(gè)位置將被選擇。
2) 開始鍵入Caption屬性。或通過使用光標(biāo)在對象觀察器中選擇并首先鍵入Name屬性值。在這種情況下,需要重選Caption屬性并鍵入值。
3) 按回車鍵(E n t e r)。下一個(gè)菜單項(xiàng)的放置位置被選中。若首先鍵入Caption屬性值,使用方向鍵返回剛才建立的菜單項(xiàng)??梢钥吹紺++ Builder以Caption屬性值為基礎(chǔ)派生出了Name屬性值。
4) 繼續(xù)為需創(chuàng)建的各個(gè)新的菜單項(xiàng)鍵入Caption屬性及Name屬性,或按Esc鍵返回菜單欄。可使用方向鍵從菜單欄進(jìn)入菜單中,并在菜單列表項(xiàng)之間移動(dòng);按回車鍵完成動(dòng)作。按Esc鍵可返回菜單欄。

    若要插入新的空白菜單項(xiàng):
1) 將光標(biāo)放在一菜單項(xiàng)上。
2) 按下Ins鍵。
    菜單項(xiàng)將插入菜單欄中被選擇項(xiàng)的左邊,并在菜單項(xiàng)列表中顯示在被選擇項(xiàng)之上。
    若要?jiǎng)h除菜單項(xiàng)或命令:
1) 將光標(biāo)放在要?jiǎng)h除的菜單項(xiàng)上。
2) 按下D e l鍵。
    注重不能刪除最后加入菜單項(xiàng)列表的菜單項(xiàng)以下的缺省位置,或菜單欄最后一項(xiàng)后面的位置。這些位置在運(yùn)行時(shí)并不出現(xiàn)菜單中。

4. 加入分隔條
    分隔條會(huì)在菜單項(xiàng)之間插入一條分隔線??墒褂梅指魲l將菜單列表分類,或只提供視覺上的分隔。
    若要將菜單項(xiàng)加入分隔條,可在Caption屬性值中鍵入連字符(-)。

5. 指定加速鍵和快捷鍵
    加速鍵可使用戶從鍵盤通過壓下Alt +適當(dāng)?shù)淖址I來訪問菜單命令,這在代碼中通過前綴字符&表示。前綴字符&之后的字符在菜單出現(xiàn)時(shí)帶有下劃線。
    C++ Builder自動(dòng)檢查重復(fù)的加速鍵并在運(yùn)行時(shí)做出調(diào)整。確保運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建的菜單不包含重復(fù)的加速鍵,并且所有菜單項(xiàng)都有一加速鍵。通過將菜單項(xiàng)的AutoHotkeys屬性設(shè)置為maManual可關(guān)掉這種自動(dòng)檢驗(yàn)。

    若要指定一加速鍵:
· 在適當(dāng)?shù)淖址凹右磺熬Y字符&。
    例如,欲將Save菜單命令中的S做為加速鍵,可鍵入& Save。
    鍵盤快捷鍵可使用戶不使用菜單而直接通過快捷鍵的組合鍵入來完成動(dòng)作。

    若要指定鍵盤快捷鍵:
· 使用對象觀察器設(shè)置ShortCut屬性,或從下拉列表中選擇一組合鍵。
    這一列表只列出有效的組合鍵的一部分。
    加入快捷鍵時(shí),會(huì)出現(xiàn)在該菜單項(xiàng)標(biāo)題的旁邊。
    警告快捷鍵不像加速鍵可以自動(dòng)檢查重復(fù)鍵。必須自行確保其唯一性。

6. 創(chuàng)建子菜單
    許多應(yīng)用程序菜單包含下拉列表,它出現(xiàn)在菜單項(xiàng)旁邊用于提供相關(guān)的附加命令。這些列表用菜單項(xiàng)右邊的箭頭來指示(如圖4-6所示)。C++ Builder支持在菜單中加入多層這樣的子菜單。
    以這種方式來組織菜單結(jié)構(gòu)可節(jié)省垂直屏幕空間。不過,在界面設(shè)計(jì)時(shí)只使用到二或三層子菜單可達(dá)到最佳的設(shè)計(jì)效果(對彈出式菜單而言,最好只用一個(gè)子菜單)。

創(chuàng)建C++ Builder菜單(圖二)    若要?jiǎng)?chuàng)建子菜單:
1) 選擇需創(chuàng)建子菜單的菜單項(xiàng)。
2) 按下Ctrl - >創(chuàng)建第一個(gè)空位置,或右擊并選擇Create Submenu。
3) 給子菜單項(xiàng)設(shè)置名字,或?qū)⒁滑F(xiàn)有的菜單項(xiàng)拖入該位置。
4) 按回車鍵,或按下向下方向鍵創(chuàng)建下一個(gè)位置 。
5) 重復(fù)步驟 3 和 4 創(chuàng)建子菜單所需的各個(gè)項(xiàng) 。
6) 按下 Esc 鍵返回上一級菜單。 (1) 通過降級現(xiàn)有菜單創(chuàng)建子菜 單 可通過將菜單欄(或菜單模板)中的菜單項(xiàng)插入菜單項(xiàng)列表中來創(chuàng)建子菜單 。將菜單移動(dòng)到現(xiàn)有的菜單結(jié)構(gòu)時(shí),其所有的相關(guān)項(xiàng)都會(huì)一起移動(dòng),從而創(chuàng)建出完整的子菜單。對于子菜單也相同,將菜單 項(xiàng) 移動(dòng)到現(xiàn)有的子菜單時(shí),會(huì)創(chuàng)建下一層的子菜單 。
(2) 移動(dòng)菜單項(xiàng) 在設(shè)計(jì)時(shí),可簡單地通過拖放移動(dòng)菜單項(xiàng)。菜單項(xiàng)可在菜單欄中菜單列表的不同位置移動(dòng),或移入完全不同的菜單。
    唯一的例外情況是針對于層次型的 : 不能將菜單欄中的菜單項(xiàng)降級到它們自己的菜單中;也不能 將 菜單項(xiàng)移入它們自己的子菜單。 不過,不管原始的位置如何,任何菜單項(xiàng)都可移入不同的菜單。
    在拖動(dòng)菜單項(xiàng)時(shí),光標(biāo)會(huì)發(fā)生變化以指示是否菜單項(xiàng)可放置新的位置 。 當(dāng)移動(dòng)菜單項(xiàng)時(shí),其下的 任 何項(xiàng)也會(huì)隨之移動(dòng) 。

若要沿菜單欄移動(dòng)菜單項(xiàng):
1) 沿菜單欄拖動(dòng)菜單項(xiàng)直到光標(biāo)箭頭指向新位置 。
2) 松開鼠標(biāo)鍵將菜單項(xiàng)放在新位置上 。

若要將菜單項(xiàng)移入菜單項(xiàng)列表 :
1) 沿菜單欄拖動(dòng)菜單項(xiàng)直到光標(biāo)箭頭指向新菜單,這將打開該菜單,以便將菜單項(xiàng)移到新位置 。
2) 將菜單項(xiàng)拖入列表中,松開鼠標(biāo)鍵以將菜單項(xiàng)放在新位置 。

7. 在菜單項(xiàng)中加入圖 像
    與菜單項(xiàng)動(dòng)作相對應(yīng)的圖像或圖片可幫助用戶更方便地查找和使用菜單項(xiàng),這類似于工具欄圖像 的 作用。若要在菜單項(xiàng)中加入圖像 :
1) 將 TMainMenu 或 TPopupMenu 對象放入窗體。
2) 在窗體中加入一 TImageList 對象。
3) 雙擊 TImageList 對象以打開 ImageList 編輯器。
4) 單擊 Add 選擇需在菜單中使用的位圖或位圖組。并單擊 OK 。
5) 將 TMainMenu 或 TPopupMenu 對象的 Images 屬性設(shè)為剛才創(chuàng)建的 ImageList 的名字。
6) 創(chuàng)建菜單項(xiàng)和子菜單項(xiàng) 。
7) 在對象觀察器中選擇需加入圖形的菜單項(xiàng),將 其 ImageIndex 屬性設(shè)置為所用圖形 在 ImageList 中 的相應(yīng)編
( ImageIndex 屬性的缺省值為- 1 ,同時(shí),缺省時(shí)不顯示圖形 ) 。

    注重 16×16 像素的圖形最適于在菜單中顯示 。雖然可使用其他尺寸的圖形,但使用大于或 小 于 16×16 像素的圖形可能會(huì)引起對齊或一致性問題 。

8. 觀察菜單
    可在窗體的設(shè)計(jì)時(shí)觀察菜單而不需運(yùn)行程序代碼 。 (彈出式菜單組件在窗體的設(shè)計(jì)時(shí)可見,但是彈出式菜單本身則不行 。可使用菜單設(shè)計(jì)器在設(shè)計(jì)時(shí)觀察彈出式菜單 。)

要觀察菜單:
1) 若窗體可見,單擊窗體,或 從 View 菜單中選擇包含要觀察菜單的窗體 。
2) 若窗體有多個(gè)菜單,在窗體 的 Menu 屬性下拉列表中選擇要觀察的菜單 。這時(shí)菜單將出現(xiàn)在窗體中并與運(yùn)行時(shí)的顯示完全相同。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安仁县| 九龙县| 新建县| 商河县| 东乡族自治县| 略阳县| 望城县| 五指山市| 延长县| 邢台县| 湟中县| 东丽区| 鄱阳县| 博乐市| 宁晋县| 兴和县| 友谊县| 敖汉旗| 平山县| 鄂尔多斯市| 家居| 师宗县| 晴隆县| 信宜市| 盐城市| 玉树县| 定远县| 民勤县| 鹤峰县| 额尔古纳市| 高要市| 库尔勒市| 巴彦淖尔市| 乳山市| 延长县| 禹城市| 张家口市| 双江| 泸定县| 吴桥县| 揭阳市|