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

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

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

16 積分

下載資源

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

資源描述:

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

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

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

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

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

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

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

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

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

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

10、l1.FontName=黑體黑體EndSubPrivateSubkaiti_Click()Label1.FontName=楷體楷體_GB2312EndSub 第10章 用戶界面設(shè)計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è)計11 彈彈出出式式菜菜單單是是獨獨立立于于菜菜單單欄欄顯顯示示在在窗窗體體或或指指定定控控件件上上的的浮浮動動菜菜單單,菜菜單單的顯示位置與鼠標(biāo)當(dāng)前位置有關(guān)。實現(xiàn)步驟如下:的顯示位置與鼠標(biāo)當(dāng)前位置有關(guān)。實現(xiàn)步驟如下:1.在菜單編輯器中建立該菜單。在菜單編輯器中建立該菜單。2.設(shè)置其頂層菜單項(主菜單項)的設(shè)置其頂層菜單項(主菜單項)的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è)計計的的、至至少少有有一一個個子子菜菜單單項項的的菜菜單單名稱(名稱(Name)。)。Flags參數(shù)為常數(shù),用來定義顯示位置與行為參數(shù)為

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

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

15、相應(yīng)的菜單項后可以改變標(biāo)簽中文字的字體大小。彈出式式菜單設(shè)計舉例彈出式式菜單設(shè)計舉例圖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è)計14用用“菜單編輯器菜單編輯器”對話框創(chuàng)建好的菜單,在程序運行過程中對話框創(chuàng)建好的菜單,在程序運行過程中并非就一成不變。用戶可以根據(jù)實際運行情況動態(tài)地調(diào)整和控制并非就一成不變。用戶可以根據(jù)實際運行情況動態(tài)地調(diào)整和控制菜單的使用,給菜單增加一些靈活性。如當(dāng)某菜單項執(zhí)行的操作菜單的使用,給菜單增加一些靈活性。如當(dāng)某菜單項執(zhí)行的操作不適合當(dāng)前環(huán)境時,可以暫時使其失效或?qū)⑵潆[藏起來。當(dāng)需要不適合當(dāng)前環(huán)境時,可以暫時使其失效或?qū)⑵潆[藏起來。當(dāng)需要時也可以添加或刪除某菜單項。時也可

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

33、H100在“字體”對話框中顯示刪除線和下劃線以及顏色組合框10.2.5“字體字體”對話框?qū)υ捒?第10章 用戶界面設(shè)計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è)計28程序運行時,當(dāng)程序運行時,當(dāng)CommonDialog控件的控件的Action屬性為屬性為5或者調(diào)用或者調(diào)用ShowPrinter方法時,系統(tǒng)就會彈出方法時,系統(tǒng)就會彈出“打印打印”對話框,它是一個設(shè)置選擇對話框,它是一個設(shè)置選擇打印參數(shù)的界面,如圖打印參數(shù)的界面,如圖10.12所示。所示。10.2.6“打印打印”對話框?qū)υ捒驁D10.12“打印”對話框重要屬性:重要屬性:1.Copies:返回或設(shè)置需要打印的份數(shù)。2.Max、Min:返回或設(shè)置打印范圍允許的最大和最小值。3.FromPage、ToPage:返回或設(shè)置起始頁號和終止頁號。當(dāng) cdlPDPageNum

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

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

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

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

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

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

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

43、“插入按鈕插入按鈕”和和“刪除按鈕刪除按鈕”,可,可以增加或減少工具欄中的按鈕;每個按鈕需以增加或減少工具欄中的按鈕;每個按鈕需要使用要使用ImageList控件中的哪個圖片作為外控件中的哪個圖片作為外觀顯示,在觀顯示,在“圖像圖像”中進行設(shè)置;中進行設(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“屬性頁”中“按鈕”選項卡 第10章 用戶界面設(shè)計350-tbrDefault:普通(默認(rèn)的)按鈕。普通(默認(rèn)的)按鈕。1-tbrCheck:復(fù)選框按鈕。具有按下、放開兩種狀態(tài)。:復(fù)選框按鈕。具有按下、放開兩種狀態(tài)。2-tbrButtonGroup:單選按鈕:單選按鈕3-tbrSeparator:分隔符。表示將不同組或不同類的按鈕分開,:分隔符。表示將不同組或不同類的按鈕分開,如單選按鈕。如單選按鈕。4-tbrPlaceholder:占位符。占位符。5-thrDropdown:下拉式按鈕??梢越⑾吕讲藛?。下拉式按鈕??梢越⑾吕讲藛巍?0.3.2ToolBa

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

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

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

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

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

50、.16 例10.9 界面設(shè)計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è)計4010.4.1 鍵盤事件 在在VisualBasic中中,提提供供KeyPress、KeyDown、KeyUp三三種種鍵鍵盤盤事事件件,窗體和接受鍵盤輸入的控件都識別這三種事件。窗體和接受鍵盤輸入的控件都識別這三種事件。KeyPress按下對應(yīng)某按下對應(yīng)某ASCII字符的鍵。字符的鍵。KeyDown按下鍵盤的任意鍵。按下鍵盤的任意鍵。KeyUp釋放鍵盤的任意鍵釋放鍵盤的任意鍵只有獲得焦點的對象才能夠接受鍵盤事件。只有獲

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

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

54、一個文本框和一個標(biāo)簽,在文本框中限定只能輸入英文字母、空格和輸入英文字母、空格和BackSpace鍵,當(dāng)從鍵盤向鍵,當(dāng)從鍵盤向文本框輸入英文字符時,將其轉(zhuǎn)換成大寫字母并文本框輸入英文字符時,將其轉(zhuǎn)換成大寫字母并顯示在標(biāo)簽中。程序運行結(jié)果如圖所示。顯示在標(biāo)簽中。程序運行結(jié)果如圖所示。10.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件圖10.17 例10.10運行結(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è)計432.KeyDown和和KeyUp事件事件 當(dāng)一個對象具有焦點時按下(當(dāng)一個對象具有焦點時按下(KeyDown)或松開或松開(KeyUp)一個鍵時發(fā)生。一個鍵時發(fā)生。它們報告鍵盤本身準(zhǔn)確的物理狀態(tài):按下鍵它們報告鍵盤本身準(zhǔn)確的物理狀態(tài):按下鍵(KeyDown)及松開鍵及松開鍵(KeyUp)。KeyDown和KeyUp事件

56、能夠檢測其它功能鍵、編輯鍵和定位鍵。KeyUp和KeyDown事件過程的語法格式如下: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、。對對于于有有上上檔檔字字符符和和下下檔檔字字符的鍵,其符的鍵,其KeyCode也是相同的,為下檔字符的也是相同的,為下檔字符的ASCII碼。碼。第10章 用戶界面設(shè)計44keycode參參數(shù)數(shù)通通過過ASCII值值或或鍵鍵代代碼碼常常數(shù)數(shù)來來識識別別鍵鍵。字字母母鍵鍵的的鍵鍵代代碼碼與與此此字字母母的的大大寫寫字字符符的的ASCII值值相相同同。所所以以“A”和和“a”的的keycode都是由都是由Asc(“A”)返回的數(shù)值返回的數(shù)值。表表10.7Keycode和和KeyAscii值值 第10章 用戶界面設(shè)計452.KeyDown和和KeyUp事件事件KeyUp和KeyDown事件過程的語法

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

59、Alt鍵鍵的的狀狀態(tài)態(tài),相相應(yīng)應(yīng)二二進進制制位位為為0時時表表示示未未按按下下對對應(yīng)應(yīng)鍵鍵,為為1時時表表示示按按下了對應(yīng)鍵。下了對應(yīng)鍵。AltAlt鍵鍵CtrlCtrl鍵鍵ShiftShift鍵鍵第第3 3位位第第2 2位位第第1 1位位 第10章 用戶界面設(shè)計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ù)的值二進制值二進制值十進制值十進制值系統(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è)計47【例10.12】設(shè)計一個程序,當(dāng)按下Alt+F5組合鍵時終止程序的運行。先把窗體的KeyPreview設(shè)置為True,再編寫如下的程序:Private Sub Form_KeyDown(KeyCode As Integer,Shift As Integer)按下A

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

63、yCode值可以判斷光標(biāo)鍵、回車鍵等鍵是否按下,可值可以判斷光標(biāo)鍵、回車鍵等鍵是否按下,可用于程序的特殊控制。用于程序的特殊控制。第10章 用戶界面設(shè)計4810.4鍵盤和鼠標(biāo)事件鍵盤和鼠標(biāo)事件大大 多多 數(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)指針移動到屏幕新位置時發(fā)生每當(dāng)鼠標(biāo)指針移動到屏幕新位置時發(fā)生MouseDown按下任意鼠標(biāo)鍵按鈕時發(fā)生按下

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

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

66、 第10章 用戶界面設(shè)計513Shift參數(shù)包含了參數(shù)包含了Alt、Ctrl和和Shift鍵的狀態(tài)信息,和鍵盤事件過鍵的狀態(tài)信息,和鍵盤事件過程中的程中的Shift參數(shù)含義相同。如果要檢測參數(shù)含義相同。如果要檢測Ctrl和和Shift鍵是否同時被按下,鍵是否同時被按下,則應(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è)計一個簡單的繪圖應(yīng)用程序。當(dāng)按下任意鼠標(biāo)鍵并拖動時,設(shè)計一個簡單的繪圖應(yīng)用程序。當(dāng)按下任意鼠標(biāo)鍵并拖動時,MouseDown事件過程和一個相關(guān)的事件過程和一個相關(guān)的MouseMove事件過程協(xié)同工作以啟事件過程協(xié)同工作以啟動繪圖。動繪圖。MouseUp事件過程禁止繪圖。事件過程禁止繪圖。圖10.19 簡單畫圖程序 第10章 用戶界面設(shè)計521.添加窗體添加窗體2刪除窗體刪除窗體3保存窗體保存窗體10.5.1管理多重窗體管理多重窗體10.5多重窗體與多模塊程序設(shè)計多重窗

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

相關(guān)資源

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

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

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


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

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲