易語(yǔ)言之菜單的設(shè)計(jì)

2020-09-16 15:12 更新
在Windows環(huán)境中,我們?cè)诤芏啻翱诔绦蛑卸伎梢钥吹讲藛?,程序的很多功能都是通過(guò)菜單來(lái)實(shí)現(xiàn)的,而且菜單的不同功能往往被分成不同的幾個(gè)菜單項(xiàng),這樣做的目的是為了讓使用者更方便、更快捷。

一、菜單的基本概念

在實(shí)際應(yīng)用的程序中,通常有二種菜單,一種是彈出式菜單,另一種是下拉式菜單,我們先了解一下這二種菜單的基本特點(diǎn):


1.下拉式菜單

下拉式菜單是一種典型的窗口式菜單,它一般通過(guò)單擊窗口菜單欄中的菜單標(biāo)題來(lái)打開,如:我們?cè)诖翱谥袉螕簟拔募薄ⅰ熬庉嫛钡炔藛螘r(shí)就會(huì)顯示一個(gè)下拉菜單。

在下拉式菜單中,一般有一個(gè)主菜單,即菜單欄(一般位于窗口標(biāo)題欄的下方),其中包括一個(gè)或多個(gè)選擇項(xiàng),分別稱為菜單標(biāo)題或主菜單項(xiàng)。當(dāng)單擊一個(gè)菜單標(biāo)題時(shí),一個(gè)包含若干個(gè)菜單項(xiàng)的列表(即菜單)即被打開,這些菜單項(xiàng)可被稱為菜單命令或子菜單項(xiàng)。根據(jù)功能的不同,菜單命令多以分隔條隔開,有的菜單命令的右端具有三角符號(hào),當(dāng)鼠標(biāo)指針指向該菜單命令時(shí),會(huì)出現(xiàn)下級(jí)子菜單,在易語(yǔ)言中最多可以出現(xiàn)6級(jí)子菜單(菜8層);有的菜單命令的左邊具有“√”,表示該菜單命令正起作用……


2.彈出式菜單

從上面的介紹可以得出,下拉式菜單是顯示在窗口的菜單欄上的,而彈出式菜單不同,它是當(dāng)用戶在一個(gè)對(duì)象上單擊右鍵時(shí)顯示出來(lái)的菜單,可以在窗口的某個(gè)位置顯示,因此,它能以更靈活的方式為用戶提供更方便和快捷的操作。如,在設(shè)計(jì)階段,在窗體中單擊右鍵時(shí)顯示的菜單就是彈出式菜單。彈出式菜單有時(shí)也稱為“右鍵菜單”或“快捷菜單”。

二、菜單編輯器的打開

在易語(yǔ)言中,當(dāng)窗體設(shè)計(jì)器被打開,并且被設(shè)計(jì)的窗體為活動(dòng)窗體時(shí),我們可以通過(guò)以下3種方法打開菜單編輯器:

方法1:?jiǎn)螕簟肮ぞ摺辈藛危谙吕藛沃袉螕簟安藛尉庉嬈鳌泵睢?/p>

方法2:直接按下快捷鍵Ctrl+E。

方法3:在要建立菜單的窗體上單擊鼠標(biāo)右鍵,在出現(xiàn)的快捷菜單中單擊“菜單編輯器”命令。

三、設(shè)計(jì)下拉式菜單

1.設(shè)計(jì)下拉式菜單的方法

利用菜單編輯器可以在窗體中建立下拉式菜單,基本的步驟:

① 新建一個(gè)窗體和設(shè)計(jì)用戶界面。

② 利用菜單編輯器設(shè)計(jì)各菜單項(xiàng)。

③ 利用代碼編輯窗口編寫每個(gè)個(gè)菜單項(xiàng)的事件程序。

④ 運(yùn)行調(diào)試各菜單命令。

下面我們通過(guò)例子來(lái)具體看一下下拉式菜單的設(shè)計(jì)。

例:設(shè)計(jì)一個(gè)利用菜單控制文本框中文字的字體、字號(hào)和修飾的程序。

要求:字體控制可設(shè)置為宋體、楷體、隸書3種。字號(hào)控制可設(shè)置成16、24、32三種。文字修飾可設(shè)置成常規(guī)、加粗、傾斜和加下劃線4種。


跟我做:


① 新建一個(gè)“Windows窗口程序”。

② 拖放一個(gè)編輯框到設(shè)計(jì)窗口,調(diào)整大小、位置,并設(shè)置編輯框的內(nèi)容初始值為“易語(yǔ)言菜單初級(jí)應(yīng)用”。

③ 利用菜單編輯器,設(shè)計(jì)一個(gè)菜單,如下圖:


注意:有些心細(xì)的同學(xué)可能已經(jīng)發(fā)現(xiàn),在32點(diǎn)大小的菜單中,名稱不是“32點(diǎn)”,而是“z32點(diǎn)”,這其實(shí)主要是因?yàn)樵谝渍Z(yǔ)言中,菜單名稱的第一個(gè)字符不能為數(shù)字或空格,所以我們就要在數(shù)字或空格之前加一個(gè)字母之類,在16點(diǎn)、24點(diǎn)二個(gè)菜單中也是這樣的。



最后設(shè)計(jì)窗口的效果如圖所示:

④ 現(xiàn)在我們就要為各菜單命令加上事件
處理程序。

我們先來(lái)看一下字體菜單中宋體這一菜
單命令的事件處理程序。

在設(shè)計(jì)窗口中單擊“字體”,在彈出的
菜單中單擊“宋體”,就會(huì)自動(dòng)打開程序設(shè)計(jì)
窗口,輸入相應(yīng)程序代碼,最終如下:


依次點(diǎn)擊各菜單項(xiàng),為各菜單命令加上事件處理程序:

編輯框1.字體.字體名稱 = “楷體_GB2312”	’字體設(shè)為“楷體”
編輯框1.字體.字體名稱 = “隸書”	’字體設(shè)為“隸書”
編輯框1.字體.加粗 = 假	’修飾設(shè)為“正?!?編輯框1.字體.傾斜 = 假
編輯框1.字體.下劃線 = 假
編輯框1.字體.加粗 = 真	’修飾設(shè)為“加粗”
編輯框1.字體.傾斜 = 真	’修飾設(shè)為“傾斜”
編輯框1.字體.下劃線 = 真	’修飾設(shè)為“加下劃線”
編輯框1.字體.字體大小 = 16	’大小設(shè)為“16點(diǎn)”
編輯框1.字體.字體大小 = 24	’大小設(shè)為“24點(diǎn)”
編輯框1.字體.字體大小 = 32	’大小設(shè)為“32點(diǎn)”

⑤運(yùn)行程序,測(cè)試結(jié)果是否正確。


2.菜單項(xiàng)狀態(tài)的控制

⑴菜單有效性的控制

我們?cè)赪indows中常常可以看到有些菜單是灰色的,不可用的,有些菜單是黑色的,可用的。這其實(shí)是程序根據(jù)當(dāng)前運(yùn)行情況,將相應(yīng)的菜單設(shè)置為可用或不可用。

例:在上一例子中,如果編輯框中沒有內(nèi)容,則所以菜單項(xiàng)都不可用,如果有內(nèi)容,則菜單項(xiàng)可用。

在這里,因?yàn)槲覀円呀?jīng)對(duì)編輯框設(shè)置了一個(gè)初始值,所以我們只要判斷一下編輯框中是否有內(nèi)容,根據(jù)這個(gè)判斷來(lái)設(shè)置菜單是否禁止使用即可。如下圖:



在這里我們只設(shè)置了部分菜單,同學(xué)們可以根據(jù)上圖完成。

如果編輯框一開始沒有初始值,那么請(qǐng)同學(xué)們想一下,這個(gè)程序該如何設(shè)計(jì)才能達(dá)到我們的要求?

運(yùn)行程序后,把編輯框中的內(nèi)容刪除,看一下菜單項(xiàng)是否可用?再輸入一些內(nèi)容,看一下菜單項(xiàng)是否可用。

⑵菜單項(xiàng)標(biāo)記的控制

所謂菜單項(xiàng)標(biāo)記,就是在某個(gè)菜單項(xiàng)的左邊加一個(gè)“√”。它有兩個(gè)作用:一是可以明顯地表示當(dāng)前某個(gè)(或某些)菜單命令的狀態(tài)是打開或關(guān)閉的;二是可以表示當(dāng)前已選擇的是哪個(gè)菜單項(xiàng)。這可以在程序代碼中通過(guò)設(shè)置菜單項(xiàng)“選中”屬性值來(lái)完成。

例:在上面的例子中的“字體”菜單項(xiàng)中,當(dāng)一個(gè)字體選中時(shí),就在該字體菜單前加上“√”,在其它字體菜單是不加“√”。

我們這里以“宋體”選擇為例:



這里要注意一點(diǎn),就是在為“宋體”菜單項(xiàng)加“√”時(shí),要記得把“楷體”、“隸書”前的“√”清除。

3.設(shè)計(jì)彈出式菜單

建立彈出式菜單的方法:

① 利用菜單編輯器建立菜單,把主菜單的可視選項(xiàng)框取消。

② 利用彈出菜單函數(shù)顯示彈出式菜單。

彈出菜單的調(diào)用格式:

對(duì)象.彈出菜單 (菜單 欲彈出的菜單,[整數(shù)型 水平顯示位置],[整數(shù)型 垂直顯示位置])

其中:

l 對(duì)象可以省略,省略時(shí)表示當(dāng)前選擇的對(duì)象。

l 第一個(gè)參數(shù)“菜單”就是在菜單編輯器中建立的菜單的主菜單的名稱。

l 水平顯示位置、垂直顯示位置表示彈出式菜單顯示時(shí)的橫、縱坐標(biāo)位置,如果不指定,則在鼠標(biāo)指針位置顯示。

例:設(shè)計(jì)一個(gè)彈出式菜單,當(dāng)鼠標(biāo)在編輯框中單擊右鍵時(shí),顯示字體菜單,用來(lái)設(shè)置編輯框內(nèi)容的字體。


跟我做:

①.新建一個(gè)“窗口程序”。

②.從控件箱中拖一個(gè)編輯框,調(diào)整好大小、位置。

③.用菜單編輯器建立一個(gè)菜單,如下圖所示,注意把“字體”的可視選項(xiàng)取消,即設(shè)置為不可見。


④.選擇編輯框,在屬性欄中選擇“鼠標(biāo)右鍵被按下”事件,輸入程序:

彈出菜單 (字體)

⑤.對(duì)字體菜單中的各字體事件進(jìn)行相應(yīng)處理,同上面的例程。

⑥.運(yùn)行程序,測(cè)試結(jié)果是否正確。


請(qǐng)你在本課第一個(gè)例程的基礎(chǔ)上,增加一個(gè)包含有“紅色”、“綠色”、“藍(lán)色”的顏色主菜單。并設(shè)計(jì)它們的事件程序,當(dāng)單擊其中一個(gè)菜單命令時(shí),程序能改變文本框中文字的顏色。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)