国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VB -菜單界面設(shè)計

何一個應(yīng)用程序,都需要通過各種命令來達成某項功能,而這些命令,大多數(shù)是通過程序的菜單來實現(xiàn)的,如我們常常用到的記事本的菜單

 


圖一

VB 提供了一個菜單編輯器,專門用來制作各式各樣的菜單,它在標準工具欄中的圖標如圖二:


圖二

雙擊該圖標,彈出如圖三的窗口,通過這個窗口,我們就可以制作菜單了。


圖三

當(dāng)然,程序光是有菜單還不行,它只是為用戶提供了便捷的操作接口,程序功能的最終實行,還必須通過給這些菜單輸入復(fù)雜的程序才能得以實現(xiàn)。

下面,我們以 Windows 自帶的筆記本為例,介紹如何用 VB 制作菜單。

一、菜單制作:
1、雙擊如圖二的菜單編輯器圖標,然后彈出如圖三的編輯窗口。

2、標題:顯示在菜單中的文本,這里,我們輸入“文件(&F)”字樣。

(&F) 是什么東西?這是為了方便用戶使用鍵盤操作菜單,當(dāng)程序運行時,(&) 字樣不會出現(xiàn),而是在字母 F 下加上一條橫線,這表示,只要用戶在按住 Alt 鍵的同時再按下 F 鍵,就相當(dāng)于用鼠標點擊“文件”這個菜單命令了。也就是說,文件菜單的快捷鍵是 Alt+F 。

名稱:本菜單在程序中的名稱,主要用作程序調(diào)用,因此記得用英文名,另外,名字最好一目了然,這里,我們將“文件”菜單命名為 MenuFile 。

“文件”菜單制作完畢,如圖四:


圖四

3、點擊菜單編輯器上的“下一個”按鈕,制作下一個菜單,這時,我們看到,編輯區(qū)域自動提到了下一行,如圖五:


圖五

點擊向右按鈕,本行前面出現(xiàn)了四個小點,表示本菜單降了一級,是二級菜單(依此類推,如果要制作三級菜單,只需要再點一下向右按鈕進行降級就行了)。然后用第二步的方法,制作“新建”(MenuNew)、“打開”(MenuOpen)、“保存”(MenuSave)、“另存為”(MenuSaveOther)菜單,結(jié)果如圖六:


圖六

上面講到了用 & 符號制作快捷鍵的方法,這里我們再使用 VB 菜單編輯器中的“快捷鍵”定制方法制作快捷鍵。

找到“新建”菜單,先在“新建(&N)”字樣后面添加六個空格,以便后面顯示的快捷鍵跟菜單名之間有點空隙,然后在快捷鍵下拉列表中選擇 Ctrl+N ,這表示在按住 Ctrl 鍵的同時按 N 鍵就能使用“新建”命令了,如下圖:

4、制作菜單分隔線:
“另存為”菜單下面是條分隔線,那么分隔線如何表示呢?很簡單,只需在“標題”框中輸入“-” 就行了,命名為 MenuSperate1 ,然后點按“下一個”按鈕制作下面的菜單。如圖七:


圖七

5、同理可做“頁面設(shè)置”(MenuPage)、“打印”(MenuPrint)、“分隔線二”(MenuSeprate2)、“退出菜單”(MenuQuit),如圖八:


圖八

6、制作“編輯”菜單:
由于“編輯菜單”是一級菜單,所以在完成“退出”菜單,并點按“下一個”按鈕后,別忘了點按向左按鈕,將當(dāng)前菜單進行升級,這時可以看到,本行前面的四個小點消失了,如圖九:


圖九

7、根據(jù)前面學(xué)到的知識,我們制作“編輯”(MenuEdit)、“撤消”(MenuUndo)、“分隔條三”(MenuSeprate3)、“剪切”(MenuCut)、“復(fù)制”(MenuCopy)、“粘貼”(MenuPaste)、“刪除”(MenuDel)、“分隔條四”(MenuSeprate4)、“全選”(MenuSelectAll)、“時間/日期”(MenuDate)、“分隔條五”(MenuSeprate5)、“自動換行”(MenuWrap)、“設(shè)置字體”(MenuFont)菜單。如圖十:


圖十

8、添加 RichText 控件:
最后在窗體內(nèi)添加一個 RichText 控件,結(jié)果如圖十一:


圖十一

在默認的工具箱面板中,RichText 控件沒有羅列出來,大家可以用鼠標右鍵點擊工具箱面板,在彈出的面板中選擇“部件”,然后在彈出的窗口中找到“Microsoft Rich Textbox Control 6.0”,勾選本控件的復(fù)選框,最后“確定”就行了,如圖十二:


圖十二

二、菜單屬性設(shè)置:
對各個菜單的屬性設(shè)置,可以在制作菜單的過程中進行,也可以在菜單設(shè)計完畢后集中進行處理。

1、菜單的“有效”性:
只有當(dāng)菜單處于“有效”狀態(tài)時才能被使用。

對于一個新的空白文件來說,撤消、剪切、復(fù)制、粘貼的命令缺少操作對象,所以在初始狀態(tài)下,它們應(yīng)該是“無效”的。

打開菜單編輯器,找到“撤消”菜單,然后將“有效”復(fù)選框前的勾去掉,這樣,“撤消”菜單無效了,如圖十三:


圖十三

同理,將“剪切”、“復(fù)制”、“粘貼”三個菜單變?yōu)?#8220;無效”。

2、復(fù)選菜單:
在記事本中,“自動換行”可以對文本的顯示進行換行控制,默認狀態(tài)為“非自動換行”模式,點擊一次則啟動“自動換行”模式,再點擊一次就取消“自動換行”,象這種菜單,我們稱為“復(fù)選菜單”。

復(fù)選菜單的制作非常簡單,只需找到要作為復(fù)選菜單的那個菜單,然后勾選“復(fù)選”按鈕就行了,如圖十四:


圖十四

但是,此時的復(fù)選按鈕還不健全,需要代碼的支持方能正常使用,具體情況在下一節(jié)的示例中講述。

有如圖一這樣一個小程序,通過“菜單”下的色彩設(shè)置,可以將窗體的背景分別改為“紅”、“綠”、“藍”色,點擊“菜單”下的“退出”,則自動退出程序。


圖一

一、界面設(shè)置:
根據(jù)第一節(jié)學(xué)到的知識,我們制作一個如圖二的菜單。


圖二

需要注意的是,“菜單”為一級,“色彩設(shè)置”、“退出”為二級、“紅色”、“綠色”、“藍色”為三級菜單,根據(jù)圖二中每行前面點的多少可以判斷出來。

另外,不要忘記勾選“紅”、“綠”、“藍”三種色彩的菜單前的“復(fù)選”選項。

二、輸入程序代碼:
1、退出菜單:
在 VB 中,End 是專門用來退出程序的命令,因此,我們在“退出菜單”中輸入如下代碼:

Private Sub MenuQuit_Click()
End
End Sub

這樣,只要點擊本菜單,自動退出程序。

2、復(fù)選菜單的判斷:
在 VB 中,可以用如下語法對復(fù)選菜單進行判斷:

復(fù)選菜單名.Checked = True/False

當(dāng)值為 True ,復(fù)選菜單被選中;值為 False ,菜單未被選中。

3、我們要讓程序在初始狀態(tài)下保持本色,在 Form 的裝入事件中輸入以下代碼:

Private Sub Form_Load()
MenuRed.Checked = False
MenuGreen.Checked = False
MenuBlue.Checked = False
End Sub

這段程序,讓三個復(fù)選菜單都處于未被選中狀態(tài)(在程序運行時起作用,在設(shè)計過程中,三個復(fù)選菜單始終是處于選中狀態(tài))。

4、當(dāng)按下紅色菜單(MenuRed):

Private Sub MenuRed_Click()
MenuRed.Checked = True
MenuGreen.Checked = False
MenuBlue.Checked = False
Form1.BackColor = vbRed
End Sub

這段代碼,讓“紅色菜單”處于選中狀態(tài),而其他顏色的菜單處于未被選中狀態(tài),同時將窗體的背景色變?yōu)榧t色(VbRed)。

5、當(dāng)按下綠色菜單(MenuGreen):

Private Sub MenuGreen_Click()
MenuRed.Checked = False
MenuGreen.Checked = True
MenuBlue.Checked = False
Form1.BackColor = vbGreen
End Sub

綠色菜單處于選中狀態(tài),其他菜單非選中,同時窗體背景色變?yōu)榫G色。

6、按下藍色菜單:

Private Sub MenuBlue_Click()
MenuRed.Checked = False
MenuGreen.Checked = False
MenuBlue.Checked = True
Form1.BackColor = vbBlue
End Sub

藍色菜單處于選中狀態(tài),其他菜單非選中,同時窗體背景變?yōu)樗{色。

7、最后按 F5 鍵,如何,程序正常運行了吧?

三、聯(lián)想
本節(jié)我們講到復(fù)選菜單是如何對選中進行判斷的,那就是看 Checked 值是否為 True 。

前面我們學(xué)過單選按鈕(OptionBUtton)、復(fù)選按鈕(CheckBox),它們也有是否被選中的判斷,那么,它們有什么不同呢?

注意,單選按鈕是否選中的判斷:
單選按鈕名.Value = True/False 。由于單選按鈕只能二選一或多選一,所以往往不需判斷,只需響應(yīng) Click 事件就行了。

復(fù)選按鈕的判斷:

復(fù)選按鈕名.Value = 0/1/2 。由于復(fù)選按鈕可以一次多選,所以對它的判斷最為復(fù)雜,常常需要用到諸如 If……Then 等條件語句進行判斷。但它跟復(fù)選菜單不同的是,復(fù)選菜單常常只能多中選一,比如上面例子中,選擇了“紅色菜單”就不能選擇“藍色菜單”,等等。 記不清楚的朋友可以回頭復(fù)習(xí)一下,此處不再贅述。

我們在上一節(jié)示例的基礎(chǔ)上,來制作如圖一的小程序,每點擊一次“增加信息”命令,菜單上會自動增加一個“信息”菜單,每點擊一次“清除菜單”命令,程序自動清除當(dāng)前信息菜單;當(dāng)菜單回復(fù)原樣,即只剩“信息”菜單時,“清除菜單”無效。


圖一

一、界面設(shè)置:
在第二節(jié)最終結(jié)果的基礎(chǔ)上,創(chuàng)建如圖一的界面,需要注意的是,“信息”菜單(MenuHint)必須在前面的“索引”框中填入數(shù)字 0,如圖二:


圖二

在程序中,只要在“索引”文本中輸入了數(shù)字,就代表這個菜單成為了一個“菜單數(shù)組”,通過這個“菜單數(shù)組”可以實現(xiàn)菜單的動態(tài)增加與清除。

二、程序代碼:
1、為“信息菜單”指定變量:
對于增加或清除菜單命令,我們可以這樣看:原始的“信息菜單”為 MenuHint(0) ,這也是索引值為 0 的意義所在;那么增加的一個信息菜單就應(yīng)該為 MenuHint(1),再增加一個,就應(yīng)該為 MenuHint(2),依此類推;清除一個信息菜單也類似,如果當(dāng)前是 MenuHint(X),那么清除一個后應(yīng)該為 MenuHint(X-1),依此類推。

指定索引值為 HintNumber ,那么增加時,應(yīng)該是 HintNumber = HintNumber + 1 ;清除時,應(yīng)該是 HintNumber = HintNumber -1 。

2、變量的作用域:
一個變量的作用域倒底有多大?這得由變量的類型來決定。當(dāng)一個變量只在某一個過程或事件(如某個按鈕的單擊事件)中起作用,那么它就是局部變量,可以在事件中直接定義;當(dāng)一個變量可以在整個窗體內(nèi)供使用,那么它可能是窗體層變量或全局變量,凡是在這個窗體上的事件都可以對這個變量進行引用,這種變量只能在“通用”過程中進行“聲明”。

因為 HintNumber 既要在“增加菜單”事件中引用,又要在“清除菜單”事件中引用,所以我們將它作為窗體層變量在“通用”過程的“聲明”中對其進行定義,如圖三:


圖三

圖三中的代碼如下:

Dim HintNumber As Integer

3、在窗體的載入事件中讓 HintNumber 為初始值 0 ,再加上原來的代碼,結(jié)果如圖四:


圖四

4、“增加信息”菜單的 Click 事件:
Private Sub MenuAdd_Click()
HintNumber = HintNumber + 1
Load MenuHint(HintNumber)
MenuHint(HintNumber).Caption = "信息" & HintNumber
End Sub

上面程序的意義在于,先計算 HintNumber + 1 并將結(jié)果賦給新的 HintNumber ,然后通過 Load 命令打開一個新菜單 MenuHint(HintNumber) ,并讓新菜單的標題變成“信息X”,其中,X是數(shù)字,表示這是第幾個信息菜單。

5、“清除信息”菜單的 Click 事件:
Private Sub MenuClear_Click()
If HintNumber = 0 Then
Exit Sub
Else
Unload MenuHint(HintNumber)
HintNumber = HintNumber - 1
End If
End Sub

上面的代碼,先對 HintNumber 值進行判斷,當(dāng) HintNumber 為 0 即程序的初始狀態(tài)時,直接退出當(dāng)前過程(Exit Sub 是退出當(dāng)前過程的命令,切記);如果 HintNumber 不為 0 ,那么卸載索引值最高的信息菜單,即 MenuHint(HintNumber) ,然后講算 HintNumber -1 并將結(jié)果賦給新的 HintNumber ,并最后退出條件判斷。

6、“清除信息”菜單的“有效性”:
如果程序處于初始狀態(tài),即“信息菜單”的索引值為 0 ,那么“清除信息”命令無效,否則有效。由于只有先點擊“幫助菜單(MenuHelp)”才能彈出“清除信息菜單(MenuClear)”,所以可以在 MenuHelp 的點擊事件中輸入以下代碼:

Private Sub MenuHelp_Click()
If HintNumber = 0 Then
MenuClear.Enabled = False
Else
MenuClear.Enabled = True
End If
End Sub

7、測試:
按鍵盤上的 F5 鍵,對程序進行最終的測試。

三、提醒:
本節(jié)最重要的是掌握諸如 HintNumber 這種輔助變量,它將鼠標的點擊動作用數(shù)字的形式加以詮釋,通過值的加減來完成菜單的動態(tài)增加與清除。

這種輔助變量的使用,在 VB 中幾乎是無處不在的,如前面我們在講 For……Next……的語法時說的作為累加器的變量。

另外,從上面的例子我們可以看出, Load/Unload 不僅適用于窗體的裝入與卸載,同時還適用于菜單的裝入與卸載。

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Word使用技巧
博客園 - Laser.NET - VS.NET的調(diào)式功能簡介(Debugging in Visual Studio.NET)
VB 1-2章練習(xí)題
Visual Basic程序設(shè)計(第3版)第2章 VB程序設(shè)計概述
《Visual Basic語言程序設(shè)計基礎(chǔ)(第3版)》第2章 Visual Basic的開發(fā)環(huán)境
信息技術(shù)會考模擬練習(xí)題及答案解析(1-5)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服