影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

VB教程 用戶界面設(shè)計(jì)

上傳人:Tomo****.明天 文檔編號(hào):240741575 上傳時(shí)間:2024-05-04 格式:PPT 頁(yè)數(shù):69 大?。?10.13KB
收藏 版權(quán)申訴 舉報(bào) 下載
VB教程 用戶界面設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共69頁(yè)
VB教程 用戶界面設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共69頁(yè)
VB教程 用戶界面設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共69頁(yè)

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《VB教程 用戶界面設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《VB教程 用戶界面設(shè)計(jì)(69頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 第10章 用戶界面設(shè)計(jì)1菜單設(shè)計(jì)菜單設(shè)計(jì)通用對(duì)話框設(shè)計(jì)通用對(duì)話框設(shè)計(jì)工具欄設(shè)計(jì)工具欄設(shè)計(jì)鍵盤與鼠標(biāo)鍵盤與鼠標(biāo)事件事件多重窗體與多模塊程序設(shè)計(jì)多重窗體與多模塊程序設(shè)計(jì)本章要求:本章要求:第第1010章章 用戶用戶界面設(shè)計(jì)界面設(shè)計(jì)本章重點(diǎn):本章重點(diǎn):本章難點(diǎn):本章難點(diǎn):通用對(duì)話框的使用、菜單的建立與通用對(duì)話框的使用、菜單的建立與使用使用鍵盤與鼠標(biāo)事件鍵盤與鼠標(biāo)事件通用對(duì)話框的使用、動(dòng)態(tài)通用對(duì)話框的使用、動(dòng)態(tài)菜單、多模塊設(shè)計(jì)菜單、多模塊設(shè)計(jì) 第10章 用戶界面設(shè)計(jì)210.1菜單設(shè)計(jì)菜單設(shè)計(jì)Windows環(huán)環(huán)境境下下的的應(yīng)應(yīng)用用程程序序一一般般為為用用戶戶提提供供三三種種菜菜單單:窗體控制菜單窗體控

2、制菜單、下拉菜單與快捷菜單下拉菜單與快捷菜單。第10章 用戶界面設(shè)計(jì)3一一.啟動(dòng)啟動(dòng)菜單編輯器:菜單編輯器:有三種有三種方法方法:1單擊工具欄菜單圖標(biāo)單擊工具欄菜單圖標(biāo)2工具工具/菜單編輯器菜單編輯器(CTRL+E)3窗體上快捷菜單窗體上快捷菜單菜單編輯器菜單編輯器菜單編輯器操作界面如右菜單編輯器操作界面如右所示。所示。10.1.1菜單編輯器菜單編輯器 第10章 用戶界面設(shè)計(jì)4菜單菜單編輯器介紹:編輯器介紹:1.標(biāo)題標(biāo)題(Caption):2.名稱名稱(Name):3.快捷鍵快捷鍵(Shortcut):4.下一個(gè)下一個(gè)(Next):5.和和按鈕按鈕6.插入插入(Insert)按鈕:按鈕:7.刪

3、除刪除(Delete)按鈕:按鈕:8和和按鈕:按鈕:10.復(fù)選復(fù)選(Checked)檢查框:檢查框:10.有效有效(Enabled)檢查框:檢查框:11.顯示窗口列表顯示窗口列表(WindowList)檢查框:檢查框:第10章 用戶界面設(shè)計(jì)5菜單的主要屬性菜單的主要屬性1.標(biāo)題標(biāo)題(Caption):在窗口上顯示,例如:輸入:在窗口上顯示,例如:輸入&File,顯示為:,顯示為:File,熱鍵:,熱鍵:Alt+F2.名稱名稱(Name):菜單項(xiàng)的名稱,分界符也應(yīng)有名稱。菜單項(xiàng)的名稱,分界符也應(yīng)有名稱。3.快捷鍵快捷鍵(Shortcut):下拉列表框下拉列表框4下一個(gè)下一個(gè)(Next):設(shè)置下一

4、個(gè)菜單項(xiàng)。設(shè)置下一個(gè)菜單項(xiàng)。5.和和按鈕:按鈕:“”下一級(jí)菜單項(xiàng);下一級(jí)菜單項(xiàng);“”上一級(jí)菜單項(xiàng)。上一級(jí)菜單項(xiàng)。6.插入插入(Insert)按鈕:按鈕:插入菜單項(xiàng)插入菜單項(xiàng)7.刪除刪除(Delete)按鈕:按鈕:刪除菜單項(xiàng)刪除菜單項(xiàng)8.和和按鈕:按鈕:改變菜單項(xiàng)位置。改變菜單項(xiàng)位置。10.復(fù)選復(fù)選(Checked)檢查框:檢查框:菜單項(xiàng)為選定項(xiàng)。菜單項(xiàng)為選定項(xiàng)。10.有效有效(Enabled)檢查框:檢查框:True:菜單項(xiàng)可選;:菜單項(xiàng)可選;False:不可選。:不可選。11.顯示窗口列表顯示窗口列表(WindowList)檢查框:檢查框:第10章 用戶界面設(shè)計(jì)61設(shè)計(jì)下拉菜單設(shè)計(jì)下拉菜單2

5、設(shè)計(jì)子菜單或改變子菜單級(jí)別設(shè)計(jì)子菜單或改變子菜單級(jí)別3為菜單項(xiàng)分組為菜單項(xiàng)分組菜單名用減號(hào)菜單名用減號(hào)“-”4為菜單項(xiàng)指定訪問鍵和快捷鍵為菜單項(xiàng)指定訪問鍵和快捷鍵與命令按鈕設(shè)置訪問鍵相同。與命令按鈕設(shè)置訪問鍵相同。5為菜單項(xiàng)加上復(fù)選標(biāo)記為菜單項(xiàng)加上復(fù)選標(biāo)記6禁止使用菜單項(xiàng)禁止使用菜單項(xiàng)在程序代碼中可以通過程序代碼:在程序代碼中可以通過程序代碼:菜單名菜單名.Enabled=False7菜單項(xiàng)的增減菜單項(xiàng)的增減菜單設(shè)計(jì)的常用的幾項(xiàng)操作:菜單設(shè)計(jì)的常用的幾項(xiàng)操作:第10章 用戶界面設(shè)計(jì)710.1.2下拉式菜單下拉式菜單10.1菜單設(shè)計(jì)菜單設(shè)計(jì) 在在下下拉拉式式菜菜單單中中,一一般般只只需需要要對(duì)對(duì)

6、下下拉拉菜菜單單的的最最低低級(jí)級(jí)菜菜單單項(xiàng)項(xiàng)編編寫寫單單擊擊事事件件代代碼碼,如如果果對(duì)對(duì)一一個(gè)個(gè)有有下下級(jí)級(jí)菜菜單單的的菜菜單單項(xiàng)項(xiàng)編編寫寫了了單單擊擊事事件件,則在執(zhí)行下一級(jí)菜單時(shí),該菜單程序?qū)⑾葓?zhí)行。則在執(zhí)行下一級(jí)菜單時(shí),該菜單程序?qū)⑾葓?zhí)行。在下拉式菜單中,一般有一個(gè)主菜單,稱為菜單欄。每個(gè)菜單在下拉式菜單中,一般有一個(gè)主菜單,稱為菜單欄。每個(gè)菜單欄包括一個(gè)或多個(gè)選擇項(xiàng),稱為菜單標(biāo)題。欄包括一個(gè)或多個(gè)選擇項(xiàng),稱為菜單標(biāo)題。菜單控件(對(duì)象)只有一個(gè)事件菜單控件(對(duì)象)只有一個(gè)事件單擊事件(單擊事件(Click()Click())一一.設(shè)計(jì)下拉式菜單的步驟:設(shè)計(jì)下拉式菜單的步驟:(1)(1)

7、新建一個(gè)窗體,并設(shè)計(jì)用戶界面。新建一個(gè)窗體,并設(shè)計(jì)用戶界面。(2)(2)利用菜單編輯器設(shè)計(jì)各菜單項(xiàng)。利用菜單編輯器設(shè)計(jì)各菜單項(xiàng)。(3)(3)編寫每個(gè)菜單項(xiàng)的事件過程。編寫每個(gè)菜單項(xiàng)的事件過程。(4)(4)運(yùn)行調(diào)試各菜單命令運(yùn)行調(diào)試各菜單命令。第10章 用戶界面設(shè)計(jì)8二、下拉式菜單設(shè)計(jì)舉例二、下拉式菜單設(shè)計(jì)舉例【例10.1】設(shè)計(jì)菜單程序,通過菜單控制標(biāo)簽中文字的字體,字型等,程序運(yùn)行界面如圖10.3所示。當(dāng)用戶選擇某一菜單項(xiàng)時(shí)執(zhí)行相應(yīng)的命令功能。圖10.3 程序運(yùn)行界面設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:1.界面設(shè)計(jì)在窗體上添加一個(gè)Frame1和Label1,用于顯示文字信息。啟動(dòng)菜單編輯器,所要建立的

8、菜單中各菜單項(xiàng)的屬性設(shè)置如表10.1所示,菜單編輯器中各項(xiàng)設(shè)置如圖10.4所示,對(duì)每一個(gè)菜單項(xiàng)輸入標(biāo)題、名稱和選擇相應(yīng)的快捷鍵。第10章 用戶界面設(shè)計(jì)9標(biāo)題標(biāo)題(Caption)名稱名稱(Name)索引值索引值說說 明明字體字體字體字體主菜單項(xiàng)主菜單項(xiàng)1.宋體宋體songti子菜單子菜單11快捷鍵快捷鍵Ctrl+S.楷體楷體kaiti子菜單子菜單12快捷鍵快捷鍵Ctrl+K.黑體黑體heiti子菜單子菜單13快捷鍵快捷鍵Ctrl+H字型字型字型字型主菜單項(xiàng)主菜單項(xiàng)2.粗體(粗體(&B)fontstyle0子菜單子菜單21熱鍵熱鍵B.斜體(斜體(&I)fontstyle1子菜單子菜單22熱鍵熱鍵

9、I.下下劃劃線線(&U)fontstyle2子菜單子菜單23熱鍵熱鍵U表10.1 菜單項(xiàng)屬性設(shè)置(2)編寫菜單項(xiàng)代碼)編寫菜單項(xiàng)代碼PrivateSubForm_Load()Label1.FontSize=16Label1.Caption=長(zhǎng)亭外古道邊長(zhǎng)亭外古道邊+Chr(13)+Chr(10)+芳草碧連天芳草碧連天+Chr(13)+Chr(10)+問君此去幾時(shí)來問君此去幾時(shí)來+Chr(13)+Chr(10)+來時(shí)莫徘徊來時(shí)莫徘徊EndSubPrivateSubsongti_Click()Label1.FontName=宋體宋體EndSubPrivateSubheiti_Click()Labe

10、l1.FontName=黑體黑體EndSubPrivateSubkaiti_Click()Label1.FontName=楷體楷體_GB2312EndSub 第10章 用戶界面設(shè)計(jì)10Private Sub fontstyle_Click(Index As Integer)fontstyle(Index).Checked=Not fontstyle(Index).CheckedSelect Case IndexCase 0Label1.FontBold=fontstyle(Index).CheckedCase 1Label1.FontItalic=fontstyle(Index).Checke

11、dCase 2Label1.FontUnderline=fontstyle(Index).CheckedEnd SelectEnd Sub字型下拉菜單代碼如下:字型下拉菜單代碼如下:第10章 用戶界面設(shè)計(jì)11 彈彈出出式式菜菜單單是是獨(dú)獨(dú)立立于于菜菜單單欄欄顯顯示示在在窗窗體體或或指指定定控控件件上上的的浮浮動(dòng)動(dòng)菜菜單單,菜菜單單的顯示位置與鼠標(biāo)當(dāng)前位置有關(guān)。實(shí)現(xiàn)步驟如下:的顯示位置與鼠標(biāo)當(dāng)前位置有關(guān)。實(shí)現(xiàn)步驟如下:1.在菜單編輯器中建立該菜單。在菜單編輯器中建立該菜單。2.設(shè)置其頂層菜單項(xiàng)(主菜單項(xiàng))的設(shè)置其頂層菜單項(xiàng)(主菜單項(xiàng))的Visible屬性為屬性為False(不可見)。(不可見)。

12、3.在在窗窗體體或或控控件件的的MouseUp或或MouseDown事事件件中中調(diào)調(diào)用用PopupMenu方方法法顯顯示該菜單。示該菜單。PopupMenu的使用方法為:的使用方法為:PopupMenu,flags,x,y,Boldcommand10.1.3彈出式菜單彈出式菜單其中:其中:關(guān)關(guān)鍵鍵字字“PopupMenuPopupMenu”可可以以前前置置窗窗體體名名稱稱,但但不不可可前前置置其其他他控控件件名名稱。稱。是是指指通通過過菜菜單單編編輯輯器器設(shè)設(shè)計(jì)計(jì)的的、至至少少有有一一個(gè)個(gè)子子菜菜單單項(xiàng)項(xiàng)的的菜菜單單名稱(名稱(Name)。)。Flags參數(shù)為常數(shù),用來定義顯示位置與行為參數(shù)為

13、常數(shù),用來定義顯示位置與行為,其取值見表其取值見表10.210.2 第10章 用戶界面設(shè)計(jì)12位置常數(shù)位置常數(shù)值值描述描述vbPopupMenuLeftAlign0缺省值。彈出式菜單的左邊定位于缺省值。彈出式菜單的左邊定位于x。vbPopupMenuCenterAlign4彈出式菜單以彈出式菜單以x為居中心。為居中心。vbPopupMenuRightAlign8彈出式菜單的右邊定位于彈出式菜單的右邊定位于x。行為常數(shù)行為常數(shù)值值描述描述vbPopupMenuLeftButton0缺省值。缺省值。僅當(dāng)使用鼠標(biāo)右鍵單擊時(shí),僅當(dāng)使用鼠標(biāo)右鍵單擊時(shí),彈出式彈出式菜單中的項(xiàng)目才響應(yīng)鼠標(biāo)單擊。菜單中的項(xiàng)目

14、才響應(yīng)鼠標(biāo)單擊。vbPopupMenuRightButton2彈出式菜單中的項(xiàng)目可接受左、右鍵單擊。彈出式菜單中的項(xiàng)目可接受左、右鍵單擊。10.1.3彈出式彈出式菜單菜單設(shè)計(jì)設(shè)計(jì)表表10.2flags參數(shù)值表參數(shù)值表Boldcommand參數(shù)設(shè)置菜單項(xiàng)可以粗體顯示。參數(shù)設(shè)置菜單項(xiàng)可以粗體顯示。一般的彈出式菜單是在右擊時(shí)彈出,所以PopupMenu方法一般是放在對(duì)象的MouseDown事件過程中,根據(jù)按下的是鼠標(biāo)左鍵還是右鍵來決定是否彈出菜單。第10章 用戶界面設(shè)計(jì)13例10.2】為【例10.1】添加一個(gè)標(biāo)簽的彈出式菜單,該菜單包含有“10”、“12”和“14”3個(gè)菜單項(xiàng),如圖10.5所示。單擊

15、相應(yīng)的菜單項(xiàng)后可以改變標(biāo)簽中文字的字體大小。彈出式式菜單設(shè)計(jì)舉例彈出式式菜單設(shè)計(jì)舉例圖10.5 彈出式菜單Private Sub Label1_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)If Button=2 Then 按下鼠標(biāo)右鍵Form1.PopupMenu fsize,4 Or 2End IfEnd subPrivate Sub size_Click(Index As Integer)Select Case IndexCase 0Label1.fontsize=10Case 1Label1.f

16、ontsize=12Case 2Label1.fontsize=14End SelectEnd sub 第10章 用戶界面設(shè)計(jì)14用用“菜單編輯器菜單編輯器”對(duì)話框創(chuàng)建好的菜單,在程序運(yùn)行過程中對(duì)話框創(chuàng)建好的菜單,在程序運(yùn)行過程中并非就一成不變。用戶可以根據(jù)實(shí)際運(yùn)行情況動(dòng)態(tài)地調(diào)整和控制并非就一成不變。用戶可以根據(jù)實(shí)際運(yùn)行情況動(dòng)態(tài)地調(diào)整和控制菜單的使用,給菜單增加一些靈活性。如當(dāng)某菜單項(xiàng)執(zhí)行的操作菜單的使用,給菜單增加一些靈活性。如當(dāng)某菜單項(xiàng)執(zhí)行的操作不適合當(dāng)前環(huán)境時(shí),可以暫時(shí)使其失效或?qū)⑵潆[藏起來。當(dāng)需要不適合當(dāng)前環(huán)境時(shí),可以暫時(shí)使其失效或?qū)⑵潆[藏起來。當(dāng)需要時(shí)也可以添加或刪除某菜單項(xiàng)。時(shí)也可

17、以添加或刪除某菜單項(xiàng)。隱藏或顯示菜單項(xiàng)并不能真正地改變菜單的數(shù)量,要使菜單隱藏或顯示菜單項(xiàng)并不能真正地改變菜單的數(shù)量,要使菜單項(xiàng)真正地、動(dòng)態(tài)地增減(從內(nèi)存中),則必須使用菜單控件數(shù)組項(xiàng)真正地、動(dòng)態(tài)地增減(從內(nèi)存中),則必須使用菜單控件數(shù)組實(shí)現(xiàn)。運(yùn)行時(shí)通過實(shí)現(xiàn)。運(yùn)行時(shí)通過Load語(yǔ)句增加新的菜單控件,使用語(yǔ)句增加新的菜單控件,使用UnLoad語(yǔ)語(yǔ)句將其刪除。句將其刪除。10.1.4動(dòng)態(tài)菜單動(dòng)態(tài)菜單Load 控件數(shù)組名(index)Unload 控件數(shù)組名(index)第10章 用戶界面設(shè)計(jì)1510.1.4動(dòng)態(tài)菜單動(dòng)態(tài)菜單【例例10.3】設(shè)計(jì)如下程序,當(dāng)文本框中沒有任何文字時(shí),設(shè)計(jì)如下程序,當(dāng)文本

18、框中沒有任何文字時(shí),“字體大小字體大小”菜單中的各項(xiàng)均變?yōu)榛疑@示,表示當(dāng)前不可用;當(dāng)用戶在文本框中菜單中的各項(xiàng)均變?yōu)榛疑@示,表示當(dāng)前不可用;當(dāng)用戶在文本框中輸入了文字后選擇某菜單項(xiàng)后,可將文字大小設(shè)為對(duì)應(yīng)值并在當(dāng)前菜單輸入了文字后選擇某菜單項(xiàng)后,可將文字大小設(shè)為對(duì)應(yīng)值并在當(dāng)前菜單項(xiàng)的前面加一個(gè)項(xiàng)的前面加一個(gè)“”,如圖,如圖10.6(a)、圖)、圖10.6(b)所示。如果用戶選)所示。如果用戶選擇了擇了“14”菜單項(xiàng),則菜單項(xiàng),則“10”菜單項(xiàng)將隱藏,并且添加菜單項(xiàng)菜單項(xiàng)將隱藏,并且添加菜單項(xiàng)“16”,其功能與其他菜單項(xiàng)相同,當(dāng)用戶重新選擇了其功能與其他菜單項(xiàng)相同,當(dāng)用戶重新選擇了“12”菜

19、單項(xiàng)時(shí),菜單項(xiàng)時(shí),“16”菜單項(xiàng)將被刪除,并恢復(fù)菜單項(xiàng)菜單項(xiàng)將被刪除,并恢復(fù)菜單項(xiàng)“10”的可見性,即文字字號(hào)最大值為的可見性,即文字字號(hào)最大值為16,最小為,最小為10,菜單中只能同時(shí)存在三個(gè)選項(xiàng),如圖,菜單中只能同時(shí)存在三個(gè)選項(xiàng),如圖10.6(c)、圖)、圖10.6(d)所)所示。示。圖10.6 動(dòng)態(tài)修改菜單示例(b)(c)(d)(a)第10章 用戶界面設(shè)計(jì)1610.2 通用對(duì)話框工程工程/部件部件選定控件標(biāo)簽選定控件標(biāo)簽選定選定MicrosoftCommDialogControl6.0CommonDialog控件不是標(biāo)準(zhǔn)控件,是一種ActiveX控件,位于Microsoft Common

20、 Dialog Control 6.0部件中。確定確定通用對(duì)話框圖標(biāo) 第10章 用戶界面設(shè)計(jì)1710.2.1通用對(duì)話框的基本屬性和方法通用對(duì)話框的基本屬性和方法1.CommonDialog控件的基本屬性控件的基本屬性(1)Action屬性屬性:該屬性決定打開何種類型的標(biāo)準(zhǔn)對(duì)話框,其取值如表10.4所示。該屬性不能在屬性窗口中設(shè)置,只能在程序中賦值。表10.4 打開通用對(duì)話框的方法與Action屬性設(shè)置類型Action屬性方法無對(duì)話框0“打開”對(duì)話框1ShowOpen“另存為”對(duì)話框2ShowSave“顏色”對(duì)話框3ShowColor“字體”對(duì)話框4ShowFont“打印”對(duì)話框5ShowPri

21、nter“幫助”對(duì)話框6ShowHelp 第10章 用戶界面設(shè)計(jì)18(2)Name屬性屬性:CommonDialog控件的名稱屬性。(3)CancelError屬性屬性:多數(shù)對(duì)話框都有“取消”按鈕,用于向應(yīng)用程序表示用戶想取消當(dāng)前操作。CancelError屬性的作用是向應(yīng)用程序報(bào)告用戶取消當(dāng)前的操作,通過一個(gè)錯(cuò)誤報(bào)告給應(yīng)用程序。如果該屬性設(shè)置為True,在程序的運(yùn)行階段,用戶選擇“取消”操作時(shí),出現(xiàn)錯(cuò)誤提示。默認(rèn)是False,不出現(xiàn)錯(cuò)誤提示。對(duì)話框打開后,為了防止用戶沒有輸入任何信息便使用取消操作,則可用此屬性設(shè)置出錯(cuò)警告。(4)Flags屬性:屬性:用于設(shè)置對(duì)話框外觀及工作方式。對(duì)于每種對(duì)

22、話框都有許多不同的設(shè)置值。在通用對(duì)話框的使用過程中,每種對(duì)話框都有自己的特殊屬性。CommonDialog控件的屬性可以在屬性窗口中設(shè)置,也可在其“屬性頁(yè)”對(duì)話框中設(shè)置。在窗體中的CommonDialog控件上右擊,在彈出的快捷菜單中選擇“屬性”命令,打開“屬性頁(yè)”對(duì)話框,該對(duì)話框中有五個(gè)選項(xiàng)卡,分別可對(duì)不同類型的標(biāo)準(zhǔn)對(duì)話框設(shè)置屬性。第10章 用戶界面設(shè)計(jì)19FilterIndexDefaultExtDialogTiltleFileNameInitDirFilter 在設(shè)計(jì)時(shí),在設(shè)計(jì)時(shí),可以通過可以通過屬性窗口設(shè)置通用對(duì)話框的屬性設(shè)置控件屬性屬性窗口設(shè)置通用對(duì)話框的屬性設(shè)置控件屬性,也可以使,

23、也可以使用用通用對(duì)話框的屬性頁(yè)設(shè)置相關(guān)屬性。通用對(duì)話框的屬性頁(yè)設(shè)置相關(guān)屬性。2CommonDialog控件的方法控件的方法在程序中要使用在程序中要使用CommonDialog控件的標(biāo)準(zhǔn)對(duì)話框,除了使用控件的標(biāo)準(zhǔn)對(duì)話框,除了使用CommonDialog控控件的件的Action屬性設(shè)置對(duì)話框的類型外,還可以使用屬性設(shè)置對(duì)話框的類型外,還可以使用CommonDialog控件的方法。這些控件的方法。這些方法方法如表如表10.4所示。所示。例如:例如:CommonDialog1.Action=1或者或者CommonDialog1.ShowOpen 第10章 用戶界面設(shè)計(jì)2010.2.2“打開打開”對(duì)話框

24、對(duì)話框1.CancelError:返回或設(shè)置一個(gè)值,該值指示當(dāng)單擊:返回或設(shè)置一個(gè)值,該值指示當(dāng)單擊“取消取消”按鈕時(shí)是否出錯(cuò)。按鈕時(shí)是否出錯(cuò)。2.DefaultExt:用于設(shè)置或返回對(duì)話框默認(rèn)的文件擴(kuò)展名。該:用于設(shè)置或返回對(duì)話框默認(rèn)的文件擴(kuò)展名。該屬性值是一個(gè)文件擴(kuò)展名字符串,如屬性值是一個(gè)文件擴(kuò)展名字符串,如“*.txt”、“*.doc”等。當(dāng)保存一個(gè)沒有指定擴(kuò)展名的文件時(shí),系統(tǒng)自動(dòng)添加默等。當(dāng)保存一個(gè)沒有指定擴(kuò)展名的文件時(shí),系統(tǒng)自動(dòng)添加默認(rèn)擴(kuò)展名。認(rèn)擴(kuò)展名。3.DialogTitle:返回或設(shè)置對(duì)話框的標(biāo)題。:返回或設(shè)置對(duì)話框的標(biāo)題。4.Filename:返回或設(shè)置用戶所選擇的文件的完

25、整路徑和文件:返回或設(shè)置用戶所選擇的文件的完整路徑和文件名稱。名稱。5.FileTitle:返回用戶選擇文件的文件名稱,包括擴(kuò)展名,但:返回用戶選擇文件的文件名稱,包括擴(kuò)展名,但不包括路徑。不包括路徑。使使用用通通用用對(duì)對(duì)話話框框控控件件的的ShowOpen方方法法,或或?qū)ction屬屬性性賦賦值值為為1,可以在運(yùn)行時(shí)顯示,可以在運(yùn)行時(shí)顯示“打開打開”對(duì)話框?qū)υ捒?。需要設(shè)置以下屬性:。需要設(shè)置以下屬性:第10章 用戶界面設(shè)計(jì)216.Filter:設(shè)置或返回在對(duì)話框的文件類型列表框中所顯示文件類型。:設(shè)置或返回在對(duì)話框的文件類型列表框中所顯示文件類型。該屬性值可以是一組元素或用該屬性值可以是

26、一組元素或用“|”符號(hào)分開的分別表示不同類型符號(hào)分開的分別表示不同類型文件的多組元素組成。例如,如果要在文件的多組元素組成。例如,如果要在“文件類型文件類型”列表框中顯列表框中顯示下列三種文件類型以供用戶選擇。示下列三種文件類型以供用戶選擇。WORD文檔文檔(*.DOC)擴(kuò)展名為擴(kuò)展名為DOC的的Word文件文件文本文件文本文件(*.TXT)擴(kuò)展名為擴(kuò)展名為TXT的文本文件的文本文件AllFiles(*.*)所有文件所有文件那么那么Filter屬性就應(yīng)該設(shè)為:屬性就應(yīng)該設(shè)為:WORD文檔文檔(*.doc)|*.doc|文本文件文本文件(*.txt)|*.txt|所有文件所有文件|*.*7.Fi

27、lterIndex:返回或設(shè)置:返回或設(shè)置“打開打開”或或“另存為另存為”對(duì)話框中一個(gè)默對(duì)話框中一個(gè)默認(rèn)的過濾器。認(rèn)的過濾器。8.InitDir:返回或設(shè)置:返回或設(shè)置“打開打開”對(duì)話框中的初始目錄。對(duì)話框中的初始目錄。9.MaxFileSize:返回或設(shè)置使用:返回或設(shè)置使用CommonDialog控件時(shí),被打開的控件時(shí),被打開的文件名的最大尺寸。文件名的最大尺寸。10.2.2“打開打開”對(duì)話框?qū)υ捒蛏鲜鰧傩匀粼诔绦蛑性O(shè)置,都必須放在使用上述屬性若在程序中設(shè)置,都必須放在使用Action屬性或?qū)傩曰騍howOPen和和ShowSave方法調(diào)用的方法調(diào)用的“打開打開”或或“另存為另存為”對(duì)話框

28、語(yǔ)句之前。否則起不到其功能對(duì)話框語(yǔ)句之前。否則起不到其功能 第10章 用戶界面設(shè)計(jì)22【例10.4】編編寫寫一一個(gè)個(gè)簡(jiǎn)簡(jiǎn)單單的的文文本本文文件件編編輯輯程程序序,如如圖圖10.9所所示示,文文件件的的內(nèi)內(nèi)容容顯顯示示在在上上面面的的文文本本框框中中。從從左左到到右右共共6個(gè)個(gè)命命令令按按鈕鈕依依次次按按約約定定命命名名。下下面面列列出出了了Command1事事件件過過程程的的程程序序代代碼碼,其其他他的的事事件件過過程程在在以以后后的的各各節(jié)節(jié)中中分分別給出。別給出。10.2.2“打開打開”對(duì)話框?qū)υ捒驁D10.9 通用對(duì)話框示例 第10章 用戶界面設(shè)計(jì)23程序運(yùn)行時(shí),當(dāng)CommonDialog

29、控件的Action屬性為2或者調(diào)用ShowSave方法時(shí),系統(tǒng)就會(huì)彈出“另存為”對(duì)話框,它為用戶在存儲(chǔ)文件時(shí)提供了一個(gè)標(biāo)準(zhǔn)的用戶界面。實(shí)際上“另存為”對(duì)話框和“打開”對(duì)話框涉及的屬性基本一樣,獨(dú)有一個(gè)屬性DefaultExt,表示默認(rèn)擴(kuò)展名。10.2.3“另存為另存為”對(duì)話框?qū)υ捒颉纠?0.5】為例10.4中的“另存為”命令按鈕(Command2)編寫事件過程,把文本框(Text1)中的內(nèi)容寫入一個(gè)文本文件。第10章 用戶界面設(shè)計(jì)24顏色顏色對(duì)話框是當(dāng)對(duì)話框是當(dāng)Action值為值為3時(shí)或者調(diào)用時(shí)或者調(diào)用ShowColor方法時(shí),系統(tǒng)就會(huì)彈出方法時(shí),系統(tǒng)就會(huì)彈出“顏色顏色”對(duì)話框,為用戶提供了對(duì)

30、話框,為用戶提供了顏色選擇器,如顏色選擇器,如右圖。右圖。重要屬性重要屬性Color:用來返回或設(shè)置選定的顏色用來返回或設(shè)置選定的顏色。10.2.4“顏色顏色”對(duì)話框?qū)υ捒颉纠?0.6】為例為例10.4中的中的“顏色顏色”命令按鈕命令按鈕(Command3)編寫事件過程,用編寫事件過程,用“顏色顏色”對(duì)話框設(shè)對(duì)話框設(shè)置文本框的前景顏色。置文本框的前景顏色?!邦伾伾卑粹o的單擊事件過程如下:按鈕的單擊事件過程如下:PrivateSubCommand3_Click()CommonDialog1.Action=3Text1.ForeColor=CommonDialog1.ColorEndSub

31、第10章 用戶界面設(shè)計(jì)2510.2.5“字體字體”對(duì)話框?qū)υ捒蜃煮w字體對(duì)話框是對(duì)話框是Action為為4時(shí)時(shí)的通用對(duì)話框,如下圖所示,提供的通用對(duì)話框,如下圖所示,提供用戶選擇字體、字號(hào)及字體樣式等。用戶選擇字體、字號(hào)及字體樣式等。字體對(duì)話框重要的屬性有:字體對(duì)話框重要的屬性有:Color,FontName,FontSize,FontBoldFontItalic,FontStrikethru,FontUnderline,Max等等.FontNameFontBold、FontItalicFontSizeFontStrikethruFontUnderlineColorMin、Max 第10章 用戶

32、界面設(shè)計(jì)26Flags屬性:屬性:設(shè)置所顯示的字體類型,設(shè)置所顯示的字體類型,數(shù)據(jù)類型為數(shù)據(jù)類型為L(zhǎng)ong。注意注意 在顯示在顯示“字體字體”對(duì)話框前,必須先將對(duì)話框前,必須先將 Flags 屬性設(shè)置為屬性設(shè)置為 cdlCFScreenFonts,cdlCFPrinterFonts,或,或cdcdlCFBoth。否則,會(huì)發(fā)生字體。否則,會(huì)發(fā)生字體不存在的錯(cuò)誤。不存在的錯(cuò)誤。“字體”對(duì)話框的Flags屬性設(shè)置值系統(tǒng)常數(shù)值說明cdlCFScreenFonts&H1顯示屏幕字體cdlCFPrinterFonts&H2顯示打印機(jī)字體cdlCFBoth&H3顯示打印機(jī)和屏幕字體cdlCFEffects&

33、H100在“字體”對(duì)話框中顯示刪除線和下劃線以及顏色組合框10.2.5“字體字體”對(duì)話框?qū)υ捒?第10章 用戶界面設(shè)計(jì)27【例例10.7】為例為例10.4中的中的“字體字體”命令按鈕命令按鈕(Command4)編寫編寫事件過程,設(shè)置文本框的字體。事件過程,設(shè)置文本框的字體?!白煮w”按鈕的單擊事件過程如下:PrivateSubCommand4_Click()CommonDialog1.Flags=cdlCFScreenFontsOrcdlCFEffectsCommonDialog1.Max=100CommonDialog1.Min=1CommonDialog1.ShowFontCommonDia

34、log1.Action=4Text1.FontName=CommonDialog1.FontNameText1.FontSize=CommonDialog1.FontSizeText1.FontBold=CommonDialog1.FontBoldText1.FontItalic=CommonDialog1.FontItalicText1.FontStrikethru=CommonDialog1.FontStrikethruText1.FontUnderline=CommonDialog1.FontUnderlineText1.ForeColor=CommonDialog1.ColorEndS

35、ub 第10章 用戶界面設(shè)計(jì)28程序運(yùn)行時(shí),當(dāng)程序運(yùn)行時(shí),當(dāng)CommonDialog控件的控件的Action屬性為屬性為5或者調(diào)用或者調(diào)用ShowPrinter方法時(shí),系統(tǒng)就會(huì)彈出方法時(shí),系統(tǒng)就會(huì)彈出“打印打印”對(duì)話框,它是一個(gè)設(shè)置選擇對(duì)話框,它是一個(gè)設(shè)置選擇打印參數(shù)的界面,如圖打印參數(shù)的界面,如圖10.12所示。所示。10.2.6“打印打印”對(duì)話框?qū)υ捒驁D10.12“打印”對(duì)話框重要屬性:重要屬性:1.Copies:返回或設(shè)置需要打印的份數(shù)。2.Max、Min:返回或設(shè)置打印范圍允許的最大和最小值。3.FromPage、ToPage:返回或設(shè)置起始頁(yè)號(hào)和終止頁(yè)號(hào)。當(dāng) cdlPDPageNum

36、s標(biāo)志被設(shè)置時(shí)才有效。第10章 用戶界面設(shè)計(jì)29【例例10.8】為例為例10.4中的中的“打印打印”命令按鈕命令按鈕(Command5)編寫編寫事件過程,用事件過程,用“打印打印”對(duì)話框打印文本框(對(duì)話框打印文本框(Text1)中的內(nèi)容。)中的內(nèi)容。“打印打印”按鈕的單擊事件過程如下:按鈕的單擊事件過程如下:PrivateSubCommand5_Click()DimiAsIntegerCommonDialog1.ShowPrinterCommonDialog1.Action=5Fori=1ToCommonDialog1.CopiesPrinter.PrintText1.TextNextiPri

37、nter.EndDoc結(jié)束打印結(jié)束打印EndSub 第10章 用戶界面設(shè)計(jì)3010.2.7“幫助幫助”對(duì)話框?qū)υ捒虺绦蜻\(yùn)行時(shí),當(dāng)CommonDialog控件的Action屬性為6或者調(diào)用ShowHelp方法時(shí),系統(tǒng)就會(huì)彈出“幫助”對(duì)話框,它可以為用戶制作應(yīng)用程序的聯(lián)機(jī)幫助?!皫椭睂?duì)話框本身不能建立應(yīng)用程序的幫助文件,它只能將已建好的幫助文件從磁盤中提取出來,并與界面建立連接,從而達(dá)到顯示并檢索幫助信息的目的。使用ShowHelp方法前,必須將CommonDialog控件的HelpFile和HelpCommand屬性設(shè)置為與其相應(yīng)的一個(gè)常數(shù)或值,否則,Winhlp32.exe就不能顯示幫助文件

38、。對(duì)于“幫助”對(duì)話框,有以下幾個(gè)重要屬性:HelpCommand:返回或設(shè)置需要的聯(lián)機(jī)幫助的類型。具體設(shè)置請(qǐng)參閱VB幫助系統(tǒng)HelpFile:確定Microsoft Windows Help文件的路徑和文件名,應(yīng)用程序使用這個(gè)文件顯示Help或聯(lián)機(jī)文檔。HelpKey:返回或設(shè)置標(biāo)識(shí)請(qǐng)求的幫助主題的關(guān)鍵字。HelpContext:該屬性與HelpCommand屬性一起使用(設(shè)置HelpCommand=cdlHelpContext),返回或設(shè)置請(qǐng)求的幫助主題的上下文 ID以指定要顯示的幫助主題。第10章 用戶界面設(shè)計(jì)31【例例10.9】為例為例10.4中的中的“幫助幫助”命令按鈕命令按鈕(Com

39、mand6)編編寫事件過程,通過寫事件過程,通過“幫助幫助”對(duì)話框來顯示記事本程序的幫助對(duì)話框來顯示記事本程序的幫助文件。文件?!皫椭鷰椭卑粹o的單擊事件過程如下:按鈕的單擊事件過程如下:PrivateSubCommand6_Click()CommonDialog1.HelpCommand=cdlHelpContentsCommonDialog1.HelpFile=c:windowshelpnotepad.hlpCommonDialog1.ShowHelpEndSub 第10章 用戶界面設(shè)計(jì)32工具欄的制作有兩種方法:工具欄的制作有兩種方法:1.是使用命令按鈕和圖形框來手工制作是使用命令按鈕和

40、圖形框來手工制作2.使用使用ToolBar控件和控件和ImageList控件來制作??丶碇谱?。前一種方法比較繁瑣,較少使用。后一種方前一種方法比較繁瑣,較少使用。后一種方法較容易,在法較容易,在VB中常用后一種方法。中常用后一種方法。ToolBar控件和控件和ImageList控件并沒有在工具箱里,屬于控件并沒有在工具箱里,屬于ActiveX控件,需要為工程加載控件,需要為工程加載“MicrosoftWindowsCommonControls6.0”控件。加載成控件。加載成功后控件工具欄如圖功后控件工具欄如圖10.13所示。所示。10.3工具欄工具欄ImageList圖 10.13 添加控件

41、成功后的工具箱ToolBar 第10章 用戶界面設(shè)計(jì)33ImageList控件不單獨(dú)使用,專門為其它控件提供圖像庫(kù)控件不單獨(dú)使用,專門為其它控件提供圖像庫(kù).使用方法如下:使用方法如下:1.在窗體中添加一個(gè)在窗體中添加一個(gè)ImageList控控件。其大小固定,運(yùn)行時(shí)不可見。件。其大小固定,運(yùn)行時(shí)不可見。2.右擊右擊ImageList控件,選擇控件,選擇“屬屬性性”,打開,打開“屬性頁(yè)屬性頁(yè)”對(duì)話框,如對(duì)話框,如圖所示。圖所示。3.選擇選擇“圖像圖像”選項(xiàng)卡,單擊選項(xiàng)卡,單擊“插入圖片插入圖片”按鈕,逐個(gè)向按鈕,逐個(gè)向ImageList控件中加入圖片;如果控件中加入圖片;如果需要?jiǎng)h除多余的圖片,選

42、中后點(diǎn)需要?jiǎng)h除多余的圖片,選中后點(diǎn)擊擊“刪除圖片刪除圖片”按鈕。按鈕。10.3.1ImageList控件控件 第10章 用戶界面設(shè)計(jì)34使用使用ToolBar控件具體創(chuàng)建一個(gè)工具欄,首先在窗體中添加一個(gè)控件具體創(chuàng)建一個(gè)工具欄,首先在窗體中添加一個(gè)ToolBar控件,設(shè)置控件,設(shè)置ToolBar控件的控件的Align屬性以控制工具欄在窗體中的位置。右擊選屬性以控制工具欄在窗體中的位置。右擊選擇擇“屬性屬性”,打開,打開“屬性頁(yè)屬性頁(yè)”對(duì)話框。對(duì)話框。10.3.2ToolBar控件控件1.設(shè)置設(shè)置ToolBar控件中的按鈕控件中的按鈕點(diǎn)擊點(diǎn)擊“按鈕按鈕”選項(xiàng)卡,如圖所示。選項(xiàng)卡,如圖所示。單擊單擊

43、“插入按鈕插入按鈕”和和“刪除按鈕刪除按鈕”,可,可以增加或減少工具欄中的按鈕;每個(gè)按鈕需以增加或減少工具欄中的按鈕;每個(gè)按鈕需要使用要使用ImageList控件中的哪個(gè)圖片作為外控件中的哪個(gè)圖片作為外觀顯示,在觀顯示,在“圖像圖像”中進(jìn)行設(shè)置;中進(jìn)行設(shè)置;“關(guān)鍵字關(guān)鍵字”用于在程序代碼中引用該按鈕。用于在程序代碼中引用該按鈕?!皹?biāo)題標(biāo)題”與與“描述描述”文本框中是在按鈕文本框中是在按鈕上顯示的文字及按鈕的說明信息。上顯示的文字及按鈕的說明信息。在在“值值”下拉列表中可以設(shè)置按鈕的狀下拉列表中可以設(shè)置按鈕的狀態(tài):態(tài):0-tbrUnpressed為彈起狀態(tài)為彈起狀態(tài)1-tbrPressed為按下

44、狀態(tài)。為按下狀態(tài)。圖10.15“屬性頁(yè)”中“按鈕”選項(xiàng)卡 第10章 用戶界面設(shè)計(jì)350-tbrDefault:普通(默認(rèn)的)按鈕。普通(默認(rèn)的)按鈕。1-tbrCheck:復(fù)選框按鈕。具有按下、放開兩種狀態(tài)。:復(fù)選框按鈕。具有按下、放開兩種狀態(tài)。2-tbrButtonGroup:?jiǎn)芜x按鈕:?jiǎn)芜x按鈕3-tbrSeparator:分隔符。表示將不同組或不同類的按鈕分開,:分隔符。表示將不同組或不同類的按鈕分開,如單選按鈕。如單選按鈕。4-tbrPlaceholder:占位符。占位符。5-thrDropdown:下拉式按鈕??梢越⑾吕讲藛?。下拉式按鈕。可以建立下拉式菜單。10.3.2ToolBa

45、r控件控件圖10.15“屬性頁(yè)”中“按鈕”選項(xiàng)卡在在“樣式樣式”下拉列表中可以設(shè)置按鈕下拉列表中可以設(shè)置按鈕的行為特點(diǎn),并且將影響按鈕的功能。具的行為特點(diǎn),并且將影響按鈕的功能。具有六種類型:有六種類型:第10章 用戶界面設(shè)計(jì)362.設(shè)置設(shè)置ToolBar控件的通用屬性,和控件的通用屬性,和ImageList控件建立關(guān)聯(lián)??丶㈥P(guān)聯(lián)。打開打開“通用通用”選項(xiàng)卡,在圖像列表選項(xiàng)中選擇圖像列表控選項(xiàng)卡,在圖像列表選項(xiàng)中選擇圖像列表控件名件名ImageList1,這樣就建立了工具欄控件與圖像列表控件的,這樣就建立了工具欄控件與圖像列表控件的關(guān)聯(lián)。關(guān)聯(lián)。在程序運(yùn)行時(shí),下述代碼也可建立工具欄控件與圖像

46、列表在程序運(yùn)行時(shí),下述代碼也可建立工具欄控件與圖像列表控件的關(guān)聯(lián):控件的關(guān)聯(lián):PrivateSubForm_Load()Toolbar1.ImageList=ImageList1EndSub一旦工具欄控件與圖像列表控件建立了關(guān)聯(lián),一旦工具欄控件與圖像列表控件建立了關(guān)聯(lián),ToolBar控件控件“屬性頁(yè)屬性頁(yè)”對(duì)話框的對(duì)話框的“按鈕按鈕”選項(xiàng)卡中的選項(xiàng)卡中的“圖像圖像”選項(xiàng)即變選項(xiàng)即變?yōu)橛行АV恍柙谄渲休斎雸D像庫(kù)中圖像的索引號(hào)即可將對(duì)應(yīng)為有效。只需在其中輸入圖像庫(kù)中圖像的索引號(hào)即可將對(duì)應(yīng)的圖片添加到按鈕上。的圖片添加到按鈕上。10.3.2ToolBar控件控件 第10章 用戶界面設(shè)計(jì)373.響應(yīng)響

47、應(yīng)ToolBar控件事件控件事件ToolBar控件常用的事件有兩個(gè):控件常用的事件有兩個(gè):ButtonClick和和ButtonMenuClick。前者對(duì)按鈕樣式為前者對(duì)按鈕樣式為0-2,后者對(duì)樣式為,后者對(duì)樣式為5的菜單按鈕。的菜單按鈕。(1)用索引)用索引Index確定按鈕確定按鈕(2)用關(guān)鍵字用關(guān)鍵字Key確定按鈕確定按鈕PrivateSubToolbar1_ButtonClick(ByvalButtonAsComctlLib.Button)SelectCaseButton.IndexCase1FileNewProcCase2FileOpenProcEndSelectEndSub注意:第

48、注意:第1個(gè)按鈕的個(gè)按鈕的Index值為值為1。用。用Index還是用還是用Key根據(jù)實(shí)際需要,根據(jù)實(shí)際需要,Key可可讀性好,可維護(hù)性好。讀性好,可維護(hù)性好。SelectCaseButton.KeyCaseTNewFileNewProcCaseTOpenFileOpenProc.第10章 用戶界面設(shè)計(jì)38【例10.9】創(chuàng)建如圖所示的窗體,并創(chuàng)建如圖所示的窗體,并編寫程序代碼實(shí)現(xiàn)工具欄上各按鈕的編寫程序代碼實(shí)現(xiàn)工具欄上各按鈕的功能。功能。圖10.16 例10.9 界面設(shè)計(jì)設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:1.設(shè)計(jì)界面設(shè)計(jì)界面首先在窗體上添加一個(gè)文本框,設(shè)置其首先在窗體上添加一個(gè)文本框,設(shè)置其Mult

49、iline屬性為屬性為True,ScrollBars屬性為屬性為2,添加,添加ImageList控件,該控件包含有圖所示的六個(gè)圖形??丶摽丶袌D所示的六個(gè)圖形。添加添加ToolBar控件,在按鈕選項(xiàng)卡中逐個(gè)添加按鈕。控件,在按鈕選項(xiàng)卡中逐個(gè)添加按鈕。各按鈕屬性設(shè)置如表各按鈕屬性設(shè)置如表10.6所示。所示。索引關(guān)鍵字樣式圖像索引1B1-tbrCheck12I1-tbrCheck23U1-tbrCheck343-tbrSeparator05lt2-tbrButtonGroup46ct2-tbrButtonGroup57rt2-tbrButtonGroup6 第10章 用戶界面設(shè)計(jì)39圖10

50、.16 例10.9 界面設(shè)計(jì)2.編寫程序代碼編寫程序代碼PrivateSubForm_Load()Toolbar1.ImageList=ImageList1EndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.KeyCaseBText1.FontBold=NotText1.FontBoldCaseIText1.FontItalic=NotText1.FontItalicCaseUText1.FontUnderline=NotText1.FontUnderlineCaseltTe

51、xt1.Alignment=0CasectText1.Alignment=2CasertText1.Alignment=1EndSelectEndSub 第10章 用戶界面設(shè)計(jì)4010.4.1 鍵盤事件 在在VisualBasic中中,提提供供KeyPress、KeyDown、KeyUp三三種種鍵鍵盤盤事事件件,窗體和接受鍵盤輸入的控件都識(shí)別這三種事件。窗體和接受鍵盤輸入的控件都識(shí)別這三種事件。KeyPress按下對(duì)應(yīng)某按下對(duì)應(yīng)某ASCII字符的鍵。字符的鍵。KeyDown按下鍵盤的任意鍵。按下鍵盤的任意鍵。KeyUp釋放鍵盤的任意鍵釋放鍵盤的任意鍵只有獲得焦點(diǎn)的對(duì)象才能夠接受鍵盤事件。只有獲

52、得焦點(diǎn)的對(duì)象才能夠接受鍵盤事件。1.KeyPress事件事件在按下與在按下與ASCII字符對(duì)應(yīng)的鍵時(shí)將觸發(fā)字符對(duì)應(yīng)的鍵時(shí)將觸發(fā)KeyPress事件。事件。10.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件 第10章 用戶界面設(shè)計(jì)41KeyPress事件過程的語(yǔ)法格式是:事件過程的語(yǔ)法格式是:SubObject_KeyPress(KeyAsciiAsInteger)其其中中:Object是是指指窗窗體體或或控控件件對(duì)對(duì)象象名名,KeyAscii參參數(shù)數(shù)返返回對(duì)應(yīng)于回對(duì)應(yīng)于ASCII字符代碼的整型數(shù)值。字符代碼的整型數(shù)值。例例如如,如如果果希希望望將將文文本本框框中中的的所所有有字字符符都都強(qiáng)強(qiáng)制制轉(zhuǎn)轉(zhuǎn)換換為為

53、大大寫字符,則可在輸入時(shí)使用此事件轉(zhuǎn)換大小寫:寫字符,則可在輸入時(shí)使用此事件轉(zhuǎn)換大小寫:Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii=Asc(Ucase(Chr(KeyAscii)End Sub10.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件KeyPress事件只識(shí)別事件只識(shí)別Enter、Tab和和Backspace鍵。不能鍵。不能夠檢測(cè)其它功能鍵、編輯鍵和定位鍵。夠檢測(cè)其它功能鍵、編輯鍵和定位鍵。第10章 用戶界面設(shè)計(jì)42【例例10.10】設(shè)計(jì)一個(gè)應(yīng)用程序,在窗體中建設(shè)計(jì)一個(gè)應(yīng)用程序,在窗體中建立一個(gè)文本框和一個(gè)標(biāo)簽,在文本框中限定只能立

54、一個(gè)文本框和一個(gè)標(biāo)簽,在文本框中限定只能輸入英文字母、空格和輸入英文字母、空格和BackSpace鍵,當(dāng)從鍵盤向鍵,當(dāng)從鍵盤向文本框輸入英文字符時(shí),將其轉(zhuǎn)換成大寫字母并文本框輸入英文字符時(shí),將其轉(zhuǎn)換成大寫字母并顯示在標(biāo)簽中。程序運(yùn)行結(jié)果如圖所示。顯示在標(biāo)簽中。程序運(yùn)行結(jié)果如圖所示。10.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件圖10.17 例10.10運(yùn)行結(jié)果PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimcharAsStringSelectCaseKeyAsciiCase65To90,97To122,32char=UCase(Chr(KeyAscii)Lab

55、el1.Caption=Label1.Caption&charCase8Label1.Caption=Left(Label1.Caption,Len(Label1.Caption)-1)CaseElseKeyAscii=0EndSelectEndSub 第10章 用戶界面設(shè)計(jì)432.KeyDown和和KeyUp事件事件 當(dāng)一個(gè)對(duì)象具有焦點(diǎn)時(shí)按下(當(dāng)一個(gè)對(duì)象具有焦點(diǎn)時(shí)按下(KeyDown)或松開或松開(KeyUp)一個(gè)鍵時(shí)發(fā)生。一個(gè)鍵時(shí)發(fā)生。它們報(bào)告鍵盤本身準(zhǔn)確的物理狀態(tài):按下鍵它們報(bào)告鍵盤本身準(zhǔn)確的物理狀態(tài):按下鍵(KeyDown)及松開鍵及松開鍵(KeyUp)。KeyDown和KeyUp事件

56、能夠檢測(cè)其它功能鍵、編輯鍵和定位鍵。KeyUp和KeyDown事件過程的語(yǔ)法格式如下:SubObject_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SubObject_KeyUp(KeyCodeAsInteger,ShiftAsInteger)說明:說明:(1)KeyCode參參數(shù)數(shù)值值是是用用戶戶所所操操作作的的鍵鍵的的掃掃描描代代碼碼,它它告告訴訴事事件件過過程程用用戶戶所所操操作作的的物物理理鍵鍵,例例如如,不不管管鍵鍵盤盤處處于于小小寫寫狀狀態(tài)態(tài)還還是是大大寫寫狀狀態(tài)態(tài),用用戶戶在在鍵鍵盤盤上上按按下下“A”健健,KeyCode參參數(shù)數(shù)值值相相同同

57、。對(duì)對(duì)于于有有上上檔檔字字符符和和下下檔檔字字符的鍵,其符的鍵,其KeyCode也是相同的,為下檔字符的也是相同的,為下檔字符的ASCII碼。碼。第10章 用戶界面設(shè)計(jì)44keycode參參數(shù)數(shù)通通過過ASCII值值或或鍵鍵代代碼碼常常數(shù)數(shù)來來識(shí)識(shí)別別鍵鍵。字字母母鍵鍵的的鍵鍵代代碼碼與與此此字字母母的的大大寫寫字字符符的的ASCII值值相相同同。所所以以“A”和和“a”的的keycode都是由都是由Asc(“A”)返回的數(shù)值返回的數(shù)值。表表10.7Keycode和和KeyAscii值值 第10章 用戶界面設(shè)計(jì)452.KeyDown和和KeyUp事件事件KeyUp和KeyDown事件過程的語(yǔ)法

58、格式如下:SubObject_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SubObject_KeyUp(KeyCodeAsInteger,ShiftAsInteger)說明:說明:(2)Shift參參數(shù)數(shù)是是一一個(gè)個(gè)整整數(shù)數(shù),表表示示鍵鍵盤盤事事件件發(fā)發(fā)生生時(shí)時(shí)Shift、Ctrl和和Alt鍵鍵的的狀狀態(tài)態(tài)。Shift是是一一個(gè)個(gè)位位域域參參數(shù)數(shù),由由若若干干位位組組成成,每每個(gè)個(gè)位位的的信信息息指指出出某某一一種種狀狀態(tài)態(tài)是是打打開開(用用1表表示示)還還是是關(guān)關(guān)閉閉(用用0表表示示)。其其中中最最右右側(cè)側(cè)三三位位用用來來表表示示Shift、Ctrl和和

59、Alt鍵鍵的的狀狀態(tài)態(tài),相相應(yīng)應(yīng)二二進(jìn)進(jìn)制制位位為為0時(shí)時(shí)表表示示未未按按下下對(duì)對(duì)應(yīng)應(yīng)鍵鍵,為為1時(shí)時(shí)表表示示按按下了對(duì)應(yīng)鍵。下了對(duì)應(yīng)鍵。AltAlt鍵鍵CtrlCtrl鍵鍵ShiftShift鍵鍵第第3 3位位第第2 2位位第第1 1位位 第10章 用戶界面設(shè)計(jì)46例如:下例是用例如:下例是用Shift參數(shù)判斷是否按下了字母的大寫形式。參數(shù)判斷是否按下了字母的大寫形式。Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)If KeyCode=vbKeyA And Shift=1 Then MsgBox You press

60、ed the uppercase A key.End ifEnd Sub表表10.8Shift參數(shù)的值參數(shù)的值二進(jìn)制值二進(jìn)制值十進(jìn)制值十進(jìn)制值系統(tǒng)常數(shù)系統(tǒng)常數(shù)意義意義0011vbShiftMaskvbShiftMask按按Shift鍵鍵0102vbCtrlMaskvbCtrlMask按按Ctrl鍵鍵1004vbAltMaskvbAltMask按按Alt鍵鍵0113 3vbShiftMask+vbCtrlMaskvbShiftMask+vbCtrlMask按按Shift鍵和鍵和Ctrl鍵鍵1015vbShiftMask+vbAltMaskvbShiftMask+vbAltMask按按Shift鍵

61、和鍵和Alt鍵鍵1106vbCtrlMask+vbAltMaskvbCtrlMask+vbAltMask按按Ctrl鍵和鍵和Alt鍵鍵1117vbCtrlMask+vbAltMask+vbCtrlMask+vbAltMask+vbShiftMaskvbShiftMask按按Shift、Ctrl和和Alt鍵鍵 第10章 用戶界面設(shè)計(jì)47【例10.12】設(shè)計(jì)一個(gè)程序,當(dāng)按下Alt+F5組合鍵時(shí)終止程序的運(yùn)行。先把窗體的KeyPreview設(shè)置為True,再編寫如下的程序:Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)按下A

62、lt鍵時(shí),Shift的值為4If(KeyCode=vbKeyF5)And(Shift vbAltMask)Then EndEnd Sub10.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件注意:注意:KeyAscii是獲取鍵的是獲取鍵的Ascii值,就是說你按下主鍵區(qū)的值,就是說你按下主鍵區(qū)的數(shù)字和按下數(shù)字鍵區(qū)的數(shù)字返回的是同一個(gè)數(shù)字和按下數(shù)字鍵區(qū)的數(shù)字返回的是同一個(gè)Ascii值,同一個(gè)值,同一個(gè)字母大、小寫的字母大、小寫的KeyAscii是不同的。是不同的。KeyCode值返回的相當(dāng)值返回的相當(dāng)于每個(gè)鍵的標(biāo)號(hào),每個(gè)鍵都有一個(gè)不同的于每個(gè)鍵的標(biāo)號(hào),每個(gè)鍵都有一個(gè)不同的KeyCode值,因而值,因而通過通過Ke

63、yCode值可以判斷光標(biāo)鍵、回車鍵等鍵是否按下,可值可以判斷光標(biāo)鍵、回車鍵等鍵是否按下,可用于程序的特殊控制。用于程序的特殊控制。第10章 用戶界面設(shè)計(jì)4810.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件大大 多多 數(shù)數(shù) 控控 件件 能能 夠夠 識(shí)識(shí) 別別 鼠鼠 標(biāo)標(biāo) 的的 MouseMove、MouseDown和和MouseUp事事件件,通通過過響響應(yīng)應(yīng)這這些些鼠鼠標(biāo)標(biāo)事事件件,能在應(yīng)用程序?qū)κ髽?biāo)位置及狀態(tài)的變化作出響應(yīng)操作。能在應(yīng)用程序?qū)κ髽?biāo)位置及狀態(tài)的變化作出響應(yīng)操作。MouseMove每當(dāng)鼠標(biāo)指針移動(dòng)到屏幕新位置時(shí)發(fā)生每當(dāng)鼠標(biāo)指針移動(dòng)到屏幕新位置時(shí)發(fā)生MouseDown按下任意鼠標(biāo)鍵按鈕時(shí)發(fā)生按下

64、任意鼠標(biāo)鍵按鈕時(shí)發(fā)生MouseUp釋放任意鼠標(biāo)鍵按鈕時(shí)發(fā)生釋放任意鼠標(biāo)鍵按鈕時(shí)發(fā)生10.4.2鼠標(biāo)事件鼠標(biāo)事件 第10章 用戶界面設(shè)計(jì)49MouseMove、MouseDown、MouseUp三個(gè)事件的過程的語(yǔ)法格式如下:三個(gè)事件的過程的語(yǔ)法格式如下:SubObject_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SubObject_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SubObject_MouseUp(ButtonAsIntege

65、r,ShiftAsInteger,XAsSingle,YAsSingle)說明:說明:1Object是可選的一個(gè)對(duì)象表達(dá)式,可以是窗體對(duì)象和大多數(shù)是可選的一個(gè)對(duì)象表達(dá)式,可以是窗體對(duì)象和大多數(shù)可視可視控件。控件。2Button參數(shù)是表示按下或松開鼠標(biāo)哪個(gè)按鈕,參數(shù)是表示按下或松開鼠標(biāo)哪個(gè)按鈕,10.4.2鼠標(biāo)事件鼠標(biāo)事件 第10章 用戶界面設(shè)計(jì)50參數(shù)參數(shù)Button值值參數(shù)(參數(shù)(Button)值值說明說明vbLeftButton1左按鈕被按下左按鈕被按下vbRightButton2右按鈕被按下右按鈕被按下vbMiddleButton4中間按鈕被按下中間按鈕被按下10.4.2鼠標(biāo)事件鼠標(biāo)事件

66、 第10章 用戶界面設(shè)計(jì)513Shift參數(shù)包含了參數(shù)包含了Alt、Ctrl和和Shift鍵的狀態(tài)信息,和鍵盤事件過鍵的狀態(tài)信息,和鍵盤事件過程中的程中的Shift參數(shù)含義相同。如果要檢測(cè)參數(shù)含義相同。如果要檢測(cè)Ctrl和和Shift鍵是否同時(shí)被按下,鍵是否同時(shí)被按下,則應(yīng)使用表達(dá)式則應(yīng)使用表達(dá)式(ShiftAndvbCtrlMask)And(ShiftAndvbShiftMask),或者表示為或者表示為Shift=3。10.4.2鼠標(biāo)事件鼠標(biāo)事件4X,Y:表示當(dāng)前鼠標(biāo)指針的位置:表示當(dāng)前鼠標(biāo)指針的位置【例例10.13】設(shè)計(jì)一個(gè)簡(jiǎn)單的繪圖應(yīng)用程序。當(dāng)按下任意鼠標(biāo)鍵并拖動(dòng)時(shí),設(shè)計(jì)一個(gè)簡(jiǎn)單的繪圖應(yīng)用程序。當(dāng)按下任意鼠標(biāo)鍵并拖動(dòng)時(shí),MouseDown事件過程和一個(gè)相關(guān)的事件過程和一個(gè)相關(guān)的MouseMove事件過程協(xié)同工作以啟事件過程協(xié)同工作以啟動(dòng)繪圖。動(dòng)繪圖。MouseUp事件過程禁止繪圖。事件過程禁止繪圖。圖10.19 簡(jiǎn)單畫圖程序 第10章 用戶界面設(shè)計(jì)521.添加窗體添加窗體2刪除窗體刪除窗體3保存窗體保存窗體10.5.1管理多重窗體管理多重窗體10.5多重窗體與多模塊程序設(shè)計(jì)多重窗

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!