




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 第10章 用戶界面設計1 菜單設計菜單設計 通用對話框設計通用對話框設計 工具欄設計工具欄設計 鍵盤與鼠標事件鍵盤與鼠標事件 多重窗體與多模塊程序設計多重窗體與多模塊程序設計本章要求:本章要求:第第1010章章 用戶界面設計用戶界面設計本章重點:本章重點:本章難點:本章難點: 通用對話框的使用、菜單的建立與使用通用對話框的使用、菜單的建立與使用鍵盤與鼠標事件鍵盤與鼠標事件通用對話框的使用、動態(tài)菜單、多模塊設計通用對話框的使用、動態(tài)菜單、多模塊設計 第10章 用戶界面設計210.1 菜單設計菜單設計 Windows環(huán)境下的應用程序一般為用戶提供三種菜單:環(huán)境下的應用程序一般為用戶提供三種菜單:
2、窗體控制菜單窗體控制菜單、下拉菜單與快捷菜單下拉菜單與快捷菜單。 第10章 用戶界面設計3一一. 啟動菜單編輯器:啟動菜單編輯器:有三種方法有三種方法: 1 單擊工具欄菜單圖標單擊工具欄菜單圖標 2 工具工具/菜單編輯器菜單編輯器 (CTRL+E) 3 窗體上快捷菜單窗體上快捷菜單 菜單編輯器菜單編輯器 菜單編輯器操作界面如右菜單編輯器操作界面如右所示。所示。10.1.1菜單編輯器菜單編輯器 第10章 用戶界面設計4菜單編輯器介紹:菜單編輯器介紹:1. 標題標題(Caption):2. 名稱名稱(Name):3. 快捷鍵快捷鍵(Shortcut):4. 下一個下一個(Next):5. 和和按鈕
3、按鈕6. 插入插入(Insert)按鈕:按鈕:7. 刪除刪除(Delete)按鈕:按鈕:8 和和按鈕:按鈕:10. 復選復選(Checked)檢查框:檢查框:10. 有效有效(Enabled)檢查框:檢查框:11. 顯示窗口列表顯示窗口列表(Window List)檢查框:檢查框: 第10章 用戶界面設計5 菜單的主要屬性菜單的主要屬性1. 標題標題(Caption):在窗口上顯示,例如:輸入:在窗口上顯示,例如:輸入&File,顯示為:,顯示為: File,熱鍵:,熱鍵:Alt+F 2. 名稱名稱(Name): 菜單項的名稱,分界符也應有名稱。菜單項的名稱,分界符也應有名稱。3. 快
4、捷鍵快捷鍵(Shortcut):下拉列表框下拉列表框4 下一個下一個(Next): 設置下一個菜單項。設置下一個菜單項。 5. 和和按鈕:按鈕:“” 下一級菜單項;下一級菜單項;“”上一級菜單項。上一級菜單項。6. 插入插入(Insert)按鈕:按鈕:插入菜單項插入菜單項7. 刪除刪除(Delete)按鈕:按鈕:刪除菜單項刪除菜單項8. 和和按鈕:按鈕:改變菜單項位置。改變菜單項位置。10. 復選復選(Checked)檢查框:檢查框:菜單項為選定項。菜單項為選定項。 10. 有效有效(Enabled)檢查框:檢查框:True:菜單項可選;:菜單項可選;False:不可選。:不可選。 11. 顯
5、示窗口列表顯示窗口列表(Window List)檢查框:檢查框: 第10章 用戶界面設計61設計下拉菜單設計下拉菜單2設計子菜單或改變子菜單級別設計子菜單或改變子菜單級別 3為菜單項分組為菜單項分組 菜單名用減號菜單名用減號“-”4為菜單項指定訪問鍵和快捷鍵為菜單項指定訪問鍵和快捷鍵 與命令按鈕設置訪問鍵相同。與命令按鈕設置訪問鍵相同。5為菜單項加上復選標記為菜單項加上復選標記6禁止使用菜單項禁止使用菜單項 在程序代碼中可以通過程序代碼:在程序代碼中可以通過程序代碼: 菜單名菜單名.Enabled=False7菜單項的增減菜單項的增減 菜單設計的常用的幾項操作:菜單設計的常用的幾項操作: 第1
6、0章 用戶界面設計710.1.2 下拉式菜單下拉式菜單 10.1 菜單設計菜單設計 在下拉式菜單中,一般只需要對下拉菜單的最低級菜單項編寫在下拉式菜單中,一般只需要對下拉菜單的最低級菜單項編寫單擊事件代碼,如果對一個有下級菜單的菜單項編寫了單擊事件,單擊事件代碼,如果對一個有下級菜單的菜單項編寫了單擊事件,則在執(zhí)行下一級菜單時,該菜單程序將先執(zhí)行。則在執(zhí)行下一級菜單時,該菜單程序將先執(zhí)行。 在下拉式菜單中,一般有一個主菜單,稱為菜單欄。每個菜單在下拉式菜單中,一般有一個主菜單,稱為菜單欄。每個菜單欄包括一個或多個選擇項,稱為菜單標題。欄包括一個或多個選擇項,稱為菜單標題。 菜單控件(對象)只有
7、一個事件菜單控件(對象)只有一個事件單擊事件(單擊事件(Click()Click())一一. 設計下拉式菜單的步驟:設計下拉式菜單的步驟:(1)(1)新建一個窗體,并設計用戶界面。新建一個窗體,并設計用戶界面。(2) (2) 利用菜單編輯器設計各菜單項。利用菜單編輯器設計各菜單項。(3)(3)編寫每個菜單項的事件過程。編寫每個菜單項的事件過程。(4)(4)運行調試各菜單命令。運行調試各菜單命令。 第10章 用戶界面設計8二、下拉式菜單設計舉例二、下拉式菜單設計舉例【例10.1】 設計菜單程序,通過菜單控制標簽中文字的字體,字型等,程序運行界面如圖10.3所示。當用戶選擇某一菜單項時執(zhí)行相應的命
8、令功能。圖10.3 程序運行界面設計步驟如下:設計步驟如下:1. 界面設計在窗體上添加一個Frame1和Label1,用于顯示文字信息。啟動菜單編輯器,所要建立的菜單中各菜單項的屬性設置如表10.1所示,菜單編輯器中各項設置如圖10.4所示,對每一個菜單項輸入標題、名稱和選擇相應的快捷鍵。 第10章 用戶界面設計9標題標題(Caption)名稱名稱(Name)索引值索引值說說 明明字體字體字體字體主菜單項主菜單項1.宋體宋體 songti子菜單子菜單11 快捷鍵快捷鍵Ctrl+S.楷體楷體kaiti子菜單子菜單12 快捷鍵快捷鍵Ctrl+K.黑體黑體heiti子菜單子菜單13 快捷鍵快捷鍵Ct
9、rl+H字型字型字型字型主菜單項主菜單項2.粗體(粗體(&B) fontstyle0子菜單子菜單21 熱鍵熱鍵B.斜體(斜體(&I)fontstyle1子菜單子菜單22 熱鍵熱鍵I.下劃線(下劃線(&U)fontstyle2子菜單子菜單23 熱鍵熱鍵U表10.1 菜單項屬性設置(2)編寫菜單項代碼)編寫菜單項代碼Private Sub Form_Load()Label1.FontSize = 16Label1.Caption = 長亭外古道邊長亭外古道邊 + Chr(13) + Chr(10) + 芳草碧連天芳草碧連天 + Chr(13) + Chr(10) + 問君此
10、去幾時來問君此去幾時來 + Chr(13) + Chr(10) + 來時莫徘徊來時莫徘徊End SubPrivate Sub songti_Click()Label1.FontName = 宋體宋體End SubPrivate Sub heiti_Click()Label1.FontName = 黑體黑體End SubPrivate Sub kaiti_Click()Label1.FontName = 楷體楷體_GB2312End Sub 第10章 用戶界面設計10Private Sub fontstyle_Click(Index As Integer)fontstyle(Index).Che
11、cked = Not fontstyle(Index).CheckedSelect Case IndexCase 0Label1.FontBold = fontstyle(Index).CheckedCase 1Label1.FontItalic = fontstyle(Index).CheckedCase 2Label1.FontUnderline = fontstyle(Index).CheckedEnd SelectEnd Sub字型下拉菜單代碼如下:字型下拉菜單代碼如下: 第10章 用戶界面設計11 彈出式菜單是獨立于菜單欄顯示在窗體或指定控件上的浮動菜單,菜單彈出式菜單是獨立于菜單欄
12、顯示在窗體或指定控件上的浮動菜單,菜單的顯示位置與鼠標當前位置有關。實現(xiàn)步驟如下:的顯示位置與鼠標當前位置有關。實現(xiàn)步驟如下: 1. 在菜單編輯器中建立該菜單。在菜單編輯器中建立該菜單。 2.設置其頂層菜單項(主菜單項)的設置其頂層菜單項(主菜單項)的Visible屬性為屬性為False(不可見)。(不可見)。 3.在窗體或控件的在窗體或控件的MouseUp或或MouseDown事件中調用事件中調用PopupMenu方法顯方法顯示該菜單。示該菜單。PopupMenu的使用方法為:的使用方法為: PopupMenu ,flags,x,y,Boldcommand10.1.3 彈出式菜單彈出式菜單
13、其中:其中: 關鍵字關鍵字“PopupMenuPopupMenu”可以前置窗體名稱,但不可前置其他控件名可以前置窗體名稱,但不可前置其他控件名稱。稱。 是指通過菜單編輯器設計的、至少有一個子菜單項的菜是指通過菜單編輯器設計的、至少有一個子菜單項的菜單名稱(單名稱(Name)。)。 Flags參數(shù)為常數(shù),用來定義顯示位置與行為參數(shù)為常數(shù),用來定義顯示位置與行為, ,其取值見表其取值見表10.210.2 第10章 用戶界面設計12位置常數(shù)位置常數(shù)值值描述描述vbPopupMenuLeftAlign 0缺省值。彈出式菜單的左邊定位于缺省值。彈出式菜單的左邊定位于 x。vbPopupMenuCente
14、rAlign 4彈出式菜單以彈出式菜單以 x為居中心。為居中心。vbPopupMenuRightAlign 8彈出式菜單的右邊定位于彈出式菜單的右邊定位于 x。行為常數(shù)行為常數(shù)值值描述描述vbPopupMenuLeftButton 0缺省值。缺省值。 僅當使用鼠標右鍵單擊時,僅當使用鼠標右鍵單擊時, 彈出式彈出式菜單中的項目才響應鼠標單擊。菜單中的項目才響應鼠標單擊。vbPopupMenuRightButton 2彈出式菜單中的項目可接受左、右鍵單擊。彈出式菜單中的項目可接受左、右鍵單擊。10.1.3 彈出式彈出式菜單設計菜單設計表表10.2 flags參數(shù)值表參數(shù)值表Boldcommand參
15、數(shù)設置菜單項可以粗體顯示。參數(shù)設置菜單項可以粗體顯示。一般的彈出式菜單是在右擊時彈出,所以PopupMenu方法一般是放在對象的MouseDown事件過程中,根據(jù)按下的是鼠標左鍵還是右鍵來決定是否彈出菜單。 第10章 用戶界面設計13例10.2】 為【例10.1】添加一個標簽的彈出式菜單,該菜單包含有“10”、“12”和“14”3個菜單項,如圖10.5所示。單擊相應的菜單項后可以改變標簽中文字的字體大小。彈出式式菜單設計舉例彈出式式菜單設計舉例圖10.5 彈出式菜單Private Sub Label1_MouseDown(Button As Integer, Shift As Integer,
16、 X As Single, Y As Single)If Button = 2 Then 按下鼠標右鍵Form1.PopupMenu fsize, 4 Or 2End IfEnd subPrivate Sub size_Click(Index As Integer)Select Case IndexCase 0Label1.fontsize = 10Case 1Label1.fontsize = 12Case 2Label1.fontsize = 14End SelectEnd sub 第10章 用戶界面設計14用用“菜單編輯器菜單編輯器”對話框創(chuàng)建好的菜單,在程序運行過程對話框創(chuàng)建好的菜單,
17、在程序運行過程中并非就一成不變。用戶可以根據(jù)實際運行情況動態(tài)地調整和中并非就一成不變。用戶可以根據(jù)實際運行情況動態(tài)地調整和控制菜單的使用,給菜單增加一些靈活性。如當某菜單項執(zhí)行控制菜單的使用,給菜單增加一些靈活性。如當某菜單項執(zhí)行的操作不適合當前環(huán)境時,可以暫時使其失效或將其隱藏起來。的操作不適合當前環(huán)境時,可以暫時使其失效或將其隱藏起來。當需要時也可以添加或刪除某菜單項。當需要時也可以添加或刪除某菜單項。隱藏或顯示菜單項并不能真正地改變菜單的數(shù)量,要使菜隱藏或顯示菜單項并不能真正地改變菜單的數(shù)量,要使菜單項真正地、動態(tài)地增減(從內存中),則必須使用菜單控件單項真正地、動態(tài)地增減(從內存中),
18、則必須使用菜單控件數(shù)組實現(xiàn)。運行時通過數(shù)組實現(xiàn)。運行時通過Load語句增加新的菜單控件,使用語句增加新的菜單控件,使用UnLoad語句將其刪除。語句將其刪除。10.1.4 動態(tài)菜單動態(tài)菜單Load 控件數(shù)組名(index) Unload 控件數(shù)組名(index) 第10章 用戶界面設計1510.1. 4 動態(tài)菜單動態(tài)菜單【例例10.3】 設計如下程序,當文本框中沒有任何文字時,設計如下程序,當文本框中沒有任何文字時,“字體大小字體大小”菜單中的各項均變?yōu)榛疑@示,表示當前不可用;當用戶在文本框中輸菜單中的各項均變?yōu)榛疑@示,表示當前不可用;當用戶在文本框中輸入了文字后選擇某菜單項后,可將文字大
19、小設為對應值并在當前菜單項入了文字后選擇某菜單項后,可將文字大小設為對應值并在當前菜單項的前面加一個的前面加一個“”,如圖,如圖10.6(a)、圖)、圖10.6(b)所示。如果用戶選擇)所示。如果用戶選擇了了“14”菜單項,則菜單項,則“10”菜單項將隱藏,并且添加菜單項菜單項將隱藏,并且添加菜單項“16”,其,其功能與其他菜單項相同,當用戶重新選擇了功能與其他菜單項相同,當用戶重新選擇了“12”菜單項時,菜單項時,“16”菜菜單項將被刪除,并恢復菜單項單項將被刪除,并恢復菜單項“10”的可見性,即文字字號最大值為的可見性,即文字字號最大值為16,最小為最小為10,菜單中只能同時存在三個選項,
20、如圖,菜單中只能同時存在三個選項,如圖10.6(c)、圖)、圖10.6(d)所示。所示。圖10.6 動態(tài)修改菜單示例(b)(c)(d)(a) 第10章 用戶界面設計1610.2 通用對話框工程工程/部件部件 選定控件標簽選定控件標簽選定選定Microsoft CommDialog Control 6.0 CommonDialog控件不是標準控件,是一種ActiveX控件,位于Microsoft Common Dialog Control 6.0部件中。確定確定通用對話框圖標 第10章 用戶界面設計1710.2.1 通用對話框的基本屬性和方法通用對話框的基本屬性和方法CommonDialog控件
21、的基本屬性控件的基本屬性(1) Action屬性屬性: 該屬性決定打開何種類型的標準對話框,其取值如表10.4所示。該屬性不能在屬性窗口中設置,只能在程序中賦值。表10.4 打開通用對話框的方法與Action屬性設置類型Action屬性方法無對話框0“打開”對話框1ShowOpen“另存為”對話框2ShowSave“顏色”對話框3ShowColor“字體”對話框4ShowFont“打印”對話框5ShowPrinter“幫助”對話框6ShowHelp 第10章 用戶界面設計18(2)Name屬性屬性:CommonDialog控件的名稱屬性。(3)CancelError屬性屬性:多數(shù)對話框都有“取
22、消”按鈕,用于向應用程序表示用戶想取消當前操作。CancelError屬性的作用是向應用程序報告用戶取消當前的操作,通過一個錯誤報告給應用程序。如果該屬性設置為True,在程序的運行階段,用戶選擇“取消”操作時,出現(xiàn)錯誤提示。默認是False,不出現(xiàn)錯誤提示。對話框打開后,為了防止用戶沒有輸入任何信息便使用取消操作,則可用此屬性設置出錯警告。(4)Flags屬性:屬性:用于設置對話框外觀及工作方式。對于每種對話框都有許多不同的設置值。 在通用對話框的使用過程中,每種對話框都有自己的特殊屬性。CommonDialog控件的屬性可以在屬性窗口中設置,也可在其“屬性頁”對話框中設置。在窗體中的Com
23、monDialog控件上右擊,在彈出的快捷菜單中選擇“屬性”命令,打開“屬性頁”對話框,該對話框中有五個選項卡,分別可對不同類型的標準對話框設置屬性。 第10章 用戶界面設計19FilterIndexDefaultExtDialogTiltleFileName InitDirFilter 在設計時,可以通過屬性窗口設置通用對話框的屬性設置控件屬性,也可以使在設計時,可以通過屬性窗口設置通用對話框的屬性設置控件屬性,也可以使用通用對話框的屬性頁設置相關屬性。用通用對話框的屬性頁設置相關屬性。 2CommonDialog控件的方法控件的方法在程序中要使用在程序中要使用CommonDialog控件的
24、標準對話框,除了使用控件的標準對話框,除了使用CommonDialog控控件的件的Action屬性設置對話框的類型外,還可以使用屬性設置對話框的類型外,還可以使用CommonDialog控件的方法。這些控件的方法。這些方法方法如表如表10.4所示。所示。例如:例如:CommonDialog1.Action=1或者或者CommonDialog1.ShowOpen 第10章 用戶界面設計20 10.2.2 “打開打開” 對話框對話框vCancelError:返回或設置一個值,該值指示當單擊:返回或設置一個值,該值指示當單擊“取消取消”按鈕時是否出錯。按鈕時是否出錯。vDefaultExt:用于設置
25、或返回對話框默認的文件擴展名。該:用于設置或返回對話框默認的文件擴展名。該屬性值是一個文件擴展名字符串,如屬性值是一個文件擴展名字符串,如“*.txt”、“*.doc”等。等。當保存一個沒有指定擴展名的文件時,系統(tǒng)自動添加默認擴當保存一個沒有指定擴展名的文件時,系統(tǒng)自動添加默認擴展名。展名。vDialogTitle:返回或設置對話框的標題。:返回或設置對話框的標題。vFilename:返回或設置用戶所選擇的文件的完整路徑和文件:返回或設置用戶所選擇的文件的完整路徑和文件名稱。名稱。vFileTitle:返回用戶選擇文件的文件名稱,包括擴展名,但:返回用戶選擇文件的文件名稱,包括擴展名,但不包括
26、路徑。不包括路徑。 使用通用對話框控件的使用通用對話框控件的ShowOpen方法,或將方法,或將Action屬性賦值為屬性賦值為1,可以在運行時顯示,可以在運行時顯示“打開打開”對話框。需要設置以下屬性:對話框。需要設置以下屬性: 第10章 用戶界面設計216. Filter:設置或返回在對話框的文件類型列表框中所顯示文件類型。:設置或返回在對話框的文件類型列表框中所顯示文件類型。該屬性值可以是一組元素或用該屬性值可以是一組元素或用“|”符號分開的分別表示不同類型符號分開的分別表示不同類型文件的多組元素組成。例如,如果要在文件的多組元素組成。例如,如果要在“文件類型文件類型”列表框中顯列表框中
27、顯示下列三種文件類型以供用戶選擇。示下列三種文件類型以供用戶選擇。WORD文檔文檔(*.DOC) 擴展名為擴展名為DOC的的Word文件文件文本文件文本文件(*.TXT) 擴展名為擴展名為TXT的文本文件的文本文件All Files(*.*) 所有文件所有文件那么那么Filter屬性就應該設為:屬性就應該設為: WORD文檔文檔(*.doc)|*.doc|文本文件文本文件(*.txt)|*.txt|所有文件所有文件|*.*7. FilterIndex:返回或設置:返回或設置“打開打開”或或“另存為另存為”對話框中一個默對話框中一個默認的過濾器。認的過濾器。8. InitDir:返回或設置:返回
28、或設置“打開打開”對話框中的初始目錄。對話框中的初始目錄。9. MaxFileSize:返回或設置使用:返回或設置使用 CommonDialog 控件時,被打開的控件時,被打開的文件名的最大尺寸。文件名的最大尺寸。10.2.2 “打開打開” 對話框對話框上述屬性若在程序中設置,都必須放在使用上述屬性若在程序中設置,都必須放在使用Action屬性或屬性或ShowOPen和和ShowSave方法調用的方法調用的“打開打開”或或“另存為另存為”對話框語句之前。否則起不到其功能對話框語句之前。否則起不到其功能 第10章 用戶界面設計22 【例10.4】 編寫一個簡單的文本文件編輯程序,如圖編寫一個簡單
29、的文本文件編輯程序,如圖10.9所示,文件的內所示,文件的內容顯示在上面的文本框中。從左到右共容顯示在上面的文本框中。從左到右共6個命令按鈕依次按約定命名。下面?zhèn)€命令按鈕依次按約定命名。下面列出了列出了Command1事件過程的程序代碼,其他的事件過程在以后的各節(jié)中分事件過程的程序代碼,其他的事件過程在以后的各節(jié)中分別給出。別給出。10.2.2 “打開打開” 對話框對話框圖10.9 通用對話框示例 第10章 用戶界面設計23程序運行時,當CommonDialog控件的Action屬性為2或者調用ShowSave方法時,系統(tǒng)就會彈出“另存為”對話框,它為用戶在存儲文件時提供了一個標準的用戶界面。
30、實際上“另存為”對話框和“打開”對話框涉及的屬性基本一樣,獨有一個屬性DefaultExt,表示默認擴展名。10.2.3 “另存為另存為” 對話框對話框【例10.5】 為例10.4中的“另存為”命令按鈕(Command2)編寫事件過程,把文本框(Text1)中的內容寫入一個文本文件。 第10章 用戶界面設計24顏色對話框是當顏色對話框是當Action值為值為3時或者調用時或者調用ShowColor方法時,系統(tǒng)就會彈出方法時,系統(tǒng)就會彈出“顏色顏色”對話框,為用戶提供了對話框,為用戶提供了顏色選擇器,如右圖。顏色選擇器,如右圖。 重要屬性重要屬性 Color:用來返回或設置選定的顏色。用來返回或
31、設置選定的顏色。 10.2.4 “顏色顏色”對話框對話框【例例10.6】 為例為例10.4中的中的“顏色顏色”命令按鈕命令按鈕(Command3)編寫事件過程,用編寫事件過程,用“顏色顏色”對話框設對話框設置文本框的前景顏色。置文本框的前景顏色?!邦伾伾卑粹o的單擊事件過程如下:按鈕的單擊事件過程如下:Private Sub Command3_Click() CommonDialog1.Action=3 Text1.ForeColor=CommonDialog1.ColorEnd Sub 第10章 用戶界面設計2510.2.5 “字體字體”對話框對話框 字體對話框是字體對話框是Action為
32、為4時時的通用對話框,如下圖所示,提供的通用對話框,如下圖所示,提供用戶選擇字體、字號及字體樣式等。用戶選擇字體、字號及字體樣式等。字體對話框重要的屬性有:字體對話框重要的屬性有:Color, FontName, FontSize, FontBold FontItalic , FontStrikethru, FontUnderline, Max等等. FontName FontBold、FontItalicFontSizeFontStrikethruFontUnderline ColorMin、Max 第10章 用戶界面設計26Flags屬性:屬性:設置所顯示的字體類型,設置所顯示的字體類型,
33、數(shù)據(jù)類型為數(shù)據(jù)類型為Long。 注意注意 在顯示在顯示“字體字體”對話框前,必須先將對話框前,必須先將 Flags 屬性設置為屬性設置為 cdlCFScreenFonts,cdlCFPrinterFonts,或,或cdcdlCFBoth。否則,會發(fā)生字體。否則,會發(fā)生字體不存在的錯誤。不存在的錯誤?!白煮w”對話框的Flags屬性設置值系統(tǒng)常數(shù)值說明cdlCFScreenFonts&H1顯示屏幕字體cdlCFPrinterFonts&H2顯示打印機字體cdlCFBoth&H3顯示打印機和屏幕字體cdlCFEffects&H100在“字體”對話框中顯示刪除線和下劃線
34、以及顏色組合框10.2.5 “字體字體”對話框對話框 第10章 用戶界面設計27【例例10.7】 為例為例10.4中的中的“字體字體”命令按鈕命令按鈕(Command4)編編寫事件過程,設置文本框的字體。寫事件過程,設置文本框的字體?!白煮w”按鈕的單擊事件過程如下:Private Sub Command4_Click() CommonDialog1.Flags = cdlCFScreenFonts Or cdlCFEffects CommonDialog1.Max = 100 CommonDialog1.Min = 1 CommonDialog1.ShowFont CommonDialog1.
35、Action =4 Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline Text1.ForeColor = Common
36、Dialog1.ColorEnd Sub 第10章 用戶界面設計28程序運行時,當程序運行時,當CommonDialog控件的控件的Action屬性為屬性為5或者調用或者調用ShowPrinter方法時,系統(tǒng)就會彈出方法時,系統(tǒng)就會彈出“打印打印”對話框,它是一個設置選擇對話框,它是一個設置選擇打印參數(shù)的界面,如圖打印參數(shù)的界面,如圖10.12所示。所示。 10.2.6 “打印打印”對話框對話框 圖10.12 “打印”對話框重要屬性:重要屬性:Copies:返回或設置需要打印的份數(shù)。Max、Min:返回或設置打印范圍允許的最大和最小值。1. FromPage、ToPage:返回或設置起始頁號和
37、終止頁號。當 cdlPDPageNums標志被設置時才有效。 第10章 用戶界面設計29【例例10.8】 為例為例10.4中的中的“打印打印”命令按鈕命令按鈕(Command5)編編寫事件過程,用寫事件過程,用“打印打印”對話框打印文本框(對話框打印文本框(Text1)中的內)中的內容。容。“打印打印”按鈕的單擊事件過程如下:按鈕的單擊事件過程如下:Private Sub Command5_Click() Dim i As Integer CommonDialog1.ShowPrinter CommonDialog1.Action =5 For i = 1 To CommonDialog1.C
38、opies Printer.Print Text1.Text Next i Printer.EndDoc 結束打印結束打印End Sub 第10章 用戶界面設計3010.2.7 “幫助幫助”對話框對話框程序運行時,當CommonDialog控件的Action屬性為6或者調用ShowHelp方法時,系統(tǒng)就會彈出“幫助”對話框,它可以為用戶制作應用程序的聯(lián)機幫助?!皫椭睂υ捒虮旧聿荒芙贸绦虻膸椭募荒軐⒁呀ê玫膸椭募拇疟P中提取出來,并與界面建立連接,從而達到顯示并檢索幫助信息的目的。使用ShowHelp方法前,必須將CommonDialog控件的HelpFile和HelpComm
39、and屬性設置為與其相應的一個常數(shù)或值,否則,Winhlp32.exe就不能顯示幫助文件。對于“幫助”對話框,有以下幾個重要屬性:HelpCommand:返回或設置需要的聯(lián)機幫助的類型。具體設置請參閱VB幫助系統(tǒng)HelpFile:確定Microsoft Windows Help文件的路徑和文件名,應用程序使用這個文件顯示Help或聯(lián)機文檔。HelpKey:返回或設置標識請求的幫助主題的關鍵字。HelpContext:該屬性與HelpCommand屬性一起使用(設置HelpCommand=cdlHelpContext),返回或設置請求的幫助主題的上下文 ID以指定要顯示的幫助主題。 第10章 用
40、戶界面設計31【例例10.9】 為例為例10.4中的中的“幫助幫助”命令按鈕命令按鈕(Command6)編編寫事件過程,通過寫事件過程,通過“幫助幫助”對話框來顯示記事本程序的幫助對話框來顯示記事本程序的幫助文件。文件。“幫助幫助”按鈕的單擊事件過程如下:按鈕的單擊事件過程如下:Private Sub Command6_Click() CommonDialog1.HelpCommand = cdlHelpContents CommonDialog1.HelpFile = c:windowshelpnotepad.hlp CommonDialog1.ShowHelp End Sub 第10章 用
41、戶界面設計32工具欄的制作有兩種方法:工具欄的制作有兩種方法:1. 是使用命令按鈕和圖形框來手工制作是使用命令按鈕和圖形框來手工制作2. 使用使用ToolBar控件和控件和ImageList控件來制作。控件來制作。前一種方法比較繁瑣,較少使用。后一種方前一種方法比較繁瑣,較少使用。后一種方法較容易,在法較容易,在VB中常用后一種方法。中常用后一種方法。ToolBar控件和控件和ImageList控件并沒有在工具箱里,屬于控件并沒有在工具箱里,屬于ActiveX控件,需要為工程加載控件,需要為工程加載“Microsoft Windows Common Controls 6.0”控件。加載成控件。
42、加載成功后控件工具欄如圖功后控件工具欄如圖10.13所示。所示。10.3 工具欄工具欄 ImageList圖 10.13 添加控件成功后的工具箱ToolBar 第10章 用戶界面設計33ImageList控件不單獨使用,專門為其它控件提供圖像庫控件不單獨使用,專門為其它控件提供圖像庫.使用方法如下:使用方法如下:在窗體中添加一個在窗體中添加一個ImageList控控件。其大小固定,運行時不可見。件。其大小固定,運行時不可見。右擊右擊ImageList控件,選擇控件,選擇“屬屬性性”,打開,打開“屬性頁屬性頁”對話框,如對話框,如圖所示。圖所示。1. 選擇選擇“圖像圖像”選項卡,單擊選項卡,單擊
43、“插入圖片插入圖片”按鈕,逐個向按鈕,逐個向ImageList控件中加入圖片;如果控件中加入圖片;如果需要刪除多余的圖片,選中后點需要刪除多余的圖片,選中后點擊擊“刪除圖片刪除圖片”按鈕。按鈕。10.3.1 ImageList控件控件 第10章 用戶界面設計34使用使用ToolBar控件具體創(chuàng)建一個工具欄,首先在窗體中添加一個控件具體創(chuàng)建一個工具欄,首先在窗體中添加一個ToolBar控件,設置控件,設置ToolBar控件的控件的Align屬性以控制工具欄在窗體中的位置。右擊選屬性以控制工具欄在窗體中的位置。右擊選擇擇“屬性屬性”,打開,打開“屬性頁屬性頁”對話框。對話框。10.3.2 Tool
44、Bar控件控件1. 設置設置ToolBar控件中的按鈕控件中的按鈕點擊點擊“按鈕按鈕”選項卡,如圖所示。選項卡,如圖所示。單擊單擊“插入按鈕插入按鈕”和和“刪除按鈕刪除按鈕”,可,可以增加或減少工具欄中的按鈕;每個按鈕需以增加或減少工具欄中的按鈕;每個按鈕需要使用要使用ImageList控件中的哪個圖片作為外控件中的哪個圖片作為外觀顯示,在觀顯示,在“圖像圖像”中進行設置;中進行設置;“關鍵字關鍵字”用于在程序代碼中引用該按鈕。用于在程序代碼中引用該按鈕?!皹祟}標題”與與“描述描述”文本框中是在按鈕文本框中是在按鈕上顯示的文字及按鈕的說明信息。上顯示的文字及按鈕的說明信息。在在“值值”下拉列表
45、中可以設置按鈕的狀下拉列表中可以設置按鈕的狀態(tài):態(tài):0-tbrUnpressed為彈起狀態(tài)為彈起狀態(tài) 1-tbrPressed為按下狀態(tài)。為按下狀態(tài)。圖10.15“屬性頁”中“按鈕”選項卡 第10章 用戶界面設計350-tbrDefault: 普通(默認的)按鈕。普通(默認的)按鈕。1-tbrCheck:復選框按鈕。具有按下、放開兩種狀態(tài)。:復選框按鈕。具有按下、放開兩種狀態(tài)。2-tbrButtonGroup:單選按鈕:單選按鈕3-tbrSeparator:分隔符。表示將不同組或不同類的按鈕分開,:分隔符。表示將不同組或不同類的按鈕分開,如單選按鈕。如單選按鈕。4-tbrPlaceholder
46、: 占位符。占位符。 5-thrDropdown: 下拉式按鈕??梢越⑾吕讲藛巍O吕桨粹o??梢越⑾吕讲藛巍?0.3.2 ToolBar控件控件圖10.15“屬性頁”中“按鈕”選項卡在在“樣式樣式”下拉列表中可以設置按下拉列表中可以設置按鈕的行為特點,并且將影響按鈕的功能。鈕的行為特點,并且將影響按鈕的功能。具有六種類型:具有六種類型: 第10章 用戶界面設計362. 設置設置ToolBar控件的通用屬性,和控件的通用屬性,和ImageList控件建立關控件建立關聯(lián)。聯(lián)。打開打開“通用通用”選項卡,在圖像列表選項中選擇圖像列表控選項卡,在圖像列表選項中選擇圖像列表控件名件名ImageL
47、ist1,這樣就建立了工具欄控件與圖像列表控件的,這樣就建立了工具欄控件與圖像列表控件的關聯(lián)。關聯(lián)。在程序運行時,下述代碼也可建立工具欄控件與圖像列表在程序運行時,下述代碼也可建立工具欄控件與圖像列表控件的關聯(lián):控件的關聯(lián): Private Sub Form_Load()Toolbar1.ImageList = ImageList1End Sub一旦工具欄控件與圖像列表控件建立了關聯(lián),一旦工具欄控件與圖像列表控件建立了關聯(lián),ToolBar控控件件“屬性頁屬性頁”對話框的對話框的“按鈕按鈕”選項卡中的選項卡中的“圖像圖像”選項即選項即變?yōu)橛行АV恍柙谄渲休斎雸D像庫中圖像的索引號即可將對變?yōu)橛行А?/p>
48、只需在其中輸入圖像庫中圖像的索引號即可將對應的圖片添加到按鈕上。應的圖片添加到按鈕上。10.3.2 ToolBar控件控件 第10章 用戶界面設計373. 響應響應ToolBar控件事件控件事件 ToolBar控件常用的事件有兩個:控件常用的事件有兩個:ButtonClick和和ButtonMenuClick。前者對按鈕樣式為前者對按鈕樣式為0-2,后者對樣式為,后者對樣式為5的菜單按鈕。的菜單按鈕。 (1)用索引)用索引Index確定按鈕確定按鈕 (2) 用關鍵字用關鍵字Key確定按鈕確定按鈕Private Sub Toolbar1_ButtonClick(Byval Button As C
49、omctlLib.Button) Select Case Button.Index Case 1 FileNewProc Case 2 FileOpenProc End SelectEnd Sub注意:第注意:第1個按鈕的個按鈕的Index值為值為1。用。用Index還是用還是用Key根據(jù)實際需要,根據(jù)實際需要,Key 可可讀性好,可維護性好。讀性好,可維護性好。Select Case Button.Key Case TNew FileNewProc Case TOpen FileOpenProc . 第10章 用戶界面設計38【例10.9】 創(chuàng)建如圖所示的窗體,并創(chuàng)建如圖所示的窗體,并編寫程
50、序代碼實現(xiàn)工具欄上各按鈕的編寫程序代碼實現(xiàn)工具欄上各按鈕的功能。功能。圖10.16 例10.9 界面設計設計步驟如下:設計步驟如下:1. 設計界面設計界面首先在窗體上添加一個文本框,設置其首先在窗體上添加一個文本框,設置其Multiline屬性為屬性為True,ScrollBars屬性為屬性為2,添加,添加ImageList控件,該控件包含有圖所示的六個圖形。控件,該控件包含有圖所示的六個圖形。添加添加ToolBar控件,在按鈕選項卡中逐個添加按鈕。控件,在按鈕選項卡中逐個添加按鈕。各按鈕屬性設置如表各按鈕屬性設置如表10.6所示。所示。索引關鍵字樣式圖像索引1B1- tbrCheck12I1
51、- tbrCheck23U1- tbrCheck343-tbrSeparator05lt2-tbrButtonGroup46ct2-tbrButtonGroup57rt2-tbrButtonGroup6 第10章 用戶界面設計39圖10.16 例10.9 界面設計2. 編寫程序代碼編寫程序代碼Private Sub Form_Load() Toolbar1.ImageList = ImageList1End SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Key
52、Case BText1.FontBold = Not Text1.FontBoldCase IText1.FontItalic = Not Text1.FontItalicCase UText1.FontUnderline = Not Text1.FontUnderlineCase ltText1.Alignment = 0Case ctText1.Alignment = 2Case rtText1.Alignment = 1End SelectEnd Sub 第10章 用戶界面設計4010.4.1 鍵盤事件 在在Visual Basic中,提供中,提供KeyPress、KeyDown、Key
53、Up三種鍵盤事件,三種鍵盤事件,窗體和接受鍵盤輸入的控件都識別這三種事件。窗體和接受鍵盤輸入的控件都識別這三種事件。 KeyPress 按下對應某按下對應某ASCII 字符的鍵。字符的鍵。 KeyDown 按下鍵盤的任意鍵。按下鍵盤的任意鍵。 KeyUp 釋放鍵盤的任意鍵釋放鍵盤的任意鍵只有獲得焦點的對象才能夠接受鍵盤事件。只有獲得焦點的對象才能夠接受鍵盤事件。 1. KeyPress 事件事件在按下與在按下與ASCII字符對應的鍵時將觸發(fā)字符對應的鍵時將觸發(fā)KeyPress 事件。事件。 10.4鍵盤和鼠標事件鍵盤和鼠標事件 第10章 用戶界面設計41KeyPress 事件過程的語法格式是:
54、事件過程的語法格式是:Sub Object_KeyPress (KeyAscii As Integer)其中:其中: Object是指窗體或控件對象名,是指窗體或控件對象名,KeyAscii 參數(shù)返參數(shù)返回對應于回對應于ASCII字符代碼的整型數(shù)值。字符代碼的整型數(shù)值。 例如,如果希望將文本框中的所有字符都強制轉換為大例如,如果希望將文本框中的所有字符都強制轉換為大寫字符,則可在輸入時使用此事件轉換大小寫:寫字符,則可在輸入時使用此事件轉換大小寫:Private Sub Text1_KeyPress (KeyAscii As Integer) KeyAscii = Asc(Ucase(Chr(
55、KeyAscii)End Sub10.4鍵盤和鼠標事件鍵盤和鼠標事件 KeyPress 事件只識別事件只識別 Enter、Tab和和Backspace 鍵。不能鍵。不能夠檢測其它功能鍵、編輯鍵和定位鍵。夠檢測其它功能鍵、編輯鍵和定位鍵。 第10章 用戶界面設計42【例例10.10】 設計一個應用程序,在窗體中建設計一個應用程序,在窗體中建立一個文本框和一個標簽,在文本框中限定只能立一個文本框和一個標簽,在文本框中限定只能輸入英文字母、空格和輸入英文字母、空格和BackSpace鍵,當從鍵盤向鍵,當從鍵盤向文本框輸入英文字符時,將其轉換成大寫字母并文本框輸入英文字符時,將其轉換成大寫字母并顯示在
56、標簽中。程序運行結果如圖所示。顯示在標簽中。程序運行結果如圖所示。10.4鍵盤和鼠標事件鍵盤和鼠標事件圖10.17 例10.10運行結果Private Sub Text1_KeyPress(KeyAscii As Integer)Dim char As StringSelect Case KeyAsciiCase 65 To 90, 97 To 122, 32 char = UCase(Chr(KeyAscii) Label1.Caption = Label1.Caption & char Case 8 Label1.Caption = Left(Label1.Caption, Len
57、(Label1.Caption) - 1) Case Else KeyAscii = 0End Select End Sub 第10章 用戶界面設計432. KeyDown 和和 KeyUp 事件事件 當一個對象具有焦點時按下(當一個對象具有焦點時按下(KeyDown) 或松開或松開 ( KeyUp ) 一個鍵時發(fā)生。一個鍵時發(fā)生。它們報告鍵盤本身準確的物理狀態(tài):按下鍵它們報告鍵盤本身準確的物理狀態(tài):按下鍵 (KeyDown) 及松開鍵及松開鍵 (KeyUp)。 KeyDown和和KeyUp事件能夠檢測其它功能鍵、編輯鍵和定位鍵。事件能夠檢測其它功能鍵、編輯鍵和定位鍵。KeyUp 和和 Key
58、Down 事件過程的語法格式如下:事件過程的語法格式如下:Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)說明:說明:(1)KeyCode參數(shù)值是用戶所操作的鍵的掃描代碼,它告訴事件過程用參數(shù)值是用戶所操作的鍵的掃描代碼,它告訴事件過程用戶所操作的物理鍵,例如,不管鍵盤處于小寫狀態(tài)還是大寫狀態(tài),用戶戶所操作的物理鍵,例如,不管鍵盤處于小寫狀態(tài)還是大寫狀態(tài),用戶在鍵盤上按下在鍵盤上按下“A”健,健,KeyCode參數(shù)值相同。對
59、于有上檔字符和下檔參數(shù)值相同。對于有上檔字符和下檔字符的鍵,其字符的鍵,其KeyCode也是相同的,為下檔字符的也是相同的,為下檔字符的ASCII碼。碼。 第10章 用戶界面設計44 keycode 參數(shù)通過參數(shù)通過 ASCII 值或鍵代碼常數(shù)來識別鍵。字母值或鍵代碼常數(shù)來識別鍵。字母鍵的鍵代碼與此字母的大寫字符的鍵的鍵代碼與此字母的大寫字符的 ASCII 值相同。所以值相同。所以 “A” 和和 “a” 的的 keycode 都是由都是由 Asc(“A”) 返回的數(shù)值。返回的數(shù)值。表表10.7 Keycode和和KeyAscii值值 第10章 用戶界面設計452.KeyDown 和和 KeyU
60、p 事件事件 KeyUp 和和 KeyDown 事件過程的語法格式如下:事件過程的語法格式如下:Sub Object_KeyDown(KeyCode As Integer, Shift As Integer)Sub Object_KeyUp(KeyCode As Integer, Shift As Integer)說明:說明:(2)Shift參數(shù)是一個整數(shù),表示鍵盤事件發(fā)生時參數(shù)是一個整數(shù),表示鍵盤事件發(fā)生時Shift、Ctrl和和Alt鍵的狀鍵的狀態(tài)。態(tài)。Shift是一個位域參數(shù),由若干位組成,每個位的信息指出某一種狀態(tài)是一個位域參數(shù),由若干位組成,每個位的信息指出某一種狀態(tài)是打開(用是打開(用1表示)還是關閉(用表示)還是關閉(用0表示)。其中最右側三位
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海市浦東實驗2025屆高一化學第二學期期末檢測試題含解析
- 上海市上戲附中2025屆高一下化學期末教學質量檢測模擬試題含解析
- 農(nóng)機中心制度管理辦法
- 合肥建設行業(yè)管理辦法
- 殯葬服務租賃管理辦法
- 村級代管資金管理辦法
- 超高壓擠包直流電纜絕緣系統(tǒng)技術難點及解決方案研究
- 華為薪資待遇管理辦法
- 數(shù)據(jù)安全策略-第2篇-洞察及研究
- 腳手架施工方案:高空作業(yè)安全
- ASTM-D3359-(附著力測試標準)-中文版
- 石嘴山市直機關遴選公務員筆試真題2022
- 吉林省吉林市亞橋中學2023-2024學年七年級下學期期末考試數(shù)學試卷
- 貴州省貴陽市南明區(qū)2023-2024學年四年級下學期期末數(shù)學質量監(jiān)測
- DL-T5706-2014火力發(fā)電工程施工組織設計導則
- 2024-2030年殷瓦鋼行業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 第一目擊者理論考試題題庫110題
- 2024年縣鄉(xiāng)教師選調進城考試《教育學》題庫附答案【綜合卷】
- 2022智慧健康養(yǎng)老服務與管理專業(yè)人才培養(yǎng)調研報告
- 機動車駕駛員安全教育培訓課件
- 三坐標檢測報告樣本
評論
0/150
提交評論