易語言之菜單的設(shè)計

2020-09-16 15:12 更新
在Windows環(huán)境中,我們在很多窗口程序中都可以看到菜單,程序的很多功能都是通過菜單來實現(xiàn)的,而且菜單的不同功能往往被分成不同的幾個菜單項,這樣做的目的是為了讓使用者更方便、更快捷。

一、菜單的基本概念

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


1.下拉式菜單

下拉式菜單是一種典型的窗口式菜單,它一般通過單擊窗口菜單欄中的菜單標(biāo)題來打開,如:我們在窗口中單擊“文件”、“編輯”等菜單時就會顯示一個下拉菜單。

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


2.彈出式菜單

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

二、菜單編輯器的打開

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

方法1:單擊“工具”菜單,在下拉菜單中單擊“菜單編輯器”命令。

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

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

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

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

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

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

② 利用菜單編輯器設(shè)計各菜單項。

③ 利用代碼編輯窗口編寫每個個菜單項的事件程序。

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

下面我們通過例子來具體看一下下拉式菜單的設(shè)計。

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

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


跟我做:


① 新建一個“Windows窗口程序”。

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

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


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



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

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

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

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


依次點擊各菜單項,為各菜單命令加上事件處理程序:

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

⑤運行程序,測試結(jié)果是否正確。


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

⑴菜單有效性的控制

我們在Windows中常??梢钥吹接行┎藛问腔疑?,不可用的,有些菜單是黑色的,可用的。這其實是程序根據(jù)當(dāng)前運行情況,將相應(yīng)的菜單設(shè)置為可用或不可用。

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

在這里,因為我們已經(jīng)對編輯框設(shè)置了一個初始值,所以我們只要判斷一下編輯框中是否有內(nèi)容,根據(jù)這個判斷來設(shè)置菜單是否禁止使用即可。如下圖:



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

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

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

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

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

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

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



這里要注意一點,就是在為“宋體”菜單項加“√”時,要記得把“楷體”、“隸書”前的“√”清除。

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

建立彈出式菜單的方法:

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

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

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

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

其中:

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

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

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

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


跟我做:

①.新建一個“窗口程序”。

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

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


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

彈出菜單 (字體)

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

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


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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號