




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第第5章章 與用戶對話與用戶對話w 第第9 9講:教材講:教材P89P89P99P99w 5.1 5.1 輸入對話框輸入對話框 w 5.2 5.2 消息對話框消息對話框 w 5.3 5.3 通用對話框通用對話框 w 第第1010講:教材講:教材P99P99100100w 5.4 5.4 自定義對話框自定義對話框 w 5.5 5.5 本章小結本章小結w 實訓實訓4 4:教材:教材P101P101w 上機實訓上機實訓 第第9 9講:教材講:教材P89P89P99P99內(nèi)容:內(nèi)容: 輸入對話框輸入對話框 消息框消息框1.通用對話框通用對話框同學們好,現(xiàn)在開始上課!同學們好,現(xiàn)在開始上課!5.1 5.
2、1 輸入對話框(輸入對話框(1 1) 利用輸入框函數(shù)利用輸入框函數(shù)InputBoxInputBox通過輸入對話框輸入通過輸入對話框輸入數(shù)據(jù),只需一行代碼即可實現(xiàn)輸入窗體的功能。數(shù)據(jù),只需一行代碼即可實現(xiàn)輸入窗體的功能。 格式:格式:InputBox(提示信息提示信息,對話框標題,對話框標題,默認,默認值值,X,Y) 該函數(shù)的功能是產(chǎn)生一個對話框,作為輸入數(shù)該函數(shù)的功能是產(chǎn)生一個對話框,作為輸入數(shù)據(jù)的界面,等待用戶輸入并返回所輸入的內(nèi)容。據(jù)的界面,等待用戶輸入并返回所輸入的內(nèi)容。 函數(shù)中各參數(shù)的作用如下:函數(shù)中各參數(shù)的作用如下: 5.1 5.1 輸入對話框(輸入對話框(2 2) 提示信息提示信息
3、:字符串表達式,在對話框內(nèi)顯示提示信息,:字符串表達式,在對話框內(nèi)顯示提示信息,最大長度為最大長度為10241024個字符。如果包含多行,可以在各行之間個字符。如果包含多行,可以在各行之間用回車符用回車符ChrChr( (1313) )、換行符換行符ChrChr( (1010) )或回車換行符的組合或回車換行符的組合ChrChr( (1313) ) & Chr & Chr( (1010) )來分隔,對應的來分隔,對應的VBVB常數(shù)分別為常數(shù)分別為vbCrvbCr、vbLfvbLf和和vbCrLfvbCrLf。 對話框標題對話框標題:字符串表達式,顯示在標題欄中作為對:字符串表達
4、式,顯示在標題欄中作為對話框的標題。若省略,則默認為當前工程的名稱。話框的標題。若省略,則默認為當前工程的名稱。 默認值默認值:字符串表達式,顯示在對話框的文本框中,:字符串表達式,顯示在對話框的文本框中,在沒有其他輸入時作為默認輸入值使用。默認為空。在沒有其他輸入時作為默認輸入值使用。默認為空。 X X、Y Y:均為數(shù)值表達式,分別指定對話框左邊和上邊均為數(shù)值表達式,分別指定對話框左邊和上邊與屏幕左邊和上邊的距離,單位為緹(與屏幕左邊和上邊的距離,單位為緹(twiptwip)。)。如果省略,如果省略,對話框在水平方向居中,垂直方向約為屏幕的上三分之一對話框在水平方向居中,垂直方向約為屏幕的上
5、三分之一處顯示。處顯示。X X和和Y Y應成對出現(xiàn),否則無效。應成對出現(xiàn),否則無效。 5.1 5.1 輸入對話框(輸入對話框(3 3) 說明:說明:(1 1)在對話框中,如果用戶選擇了【確定】按鈕,則)在對話框中,如果用戶選擇了【確定】按鈕,則InputBoxInputBox函數(shù)返回文本框中所有內(nèi)容;如果選擇了【取消】函數(shù)返回文本框中所有內(nèi)容;如果選擇了【取消】按鈕,則函數(shù)返回零長度的字符串。按鈕,則函數(shù)返回零長度的字符串。(2 2)除提示信息外,其他參數(shù)均為可選參數(shù)。如果指定)除提示信息外,其他參數(shù)均為可選參數(shù)。如果指定了后面的參數(shù)而省略前面的參數(shù),則必須保留前面的逗號。了后面的參數(shù)而省略前
6、面的參數(shù),則必須保留前面的逗號。例如:例如:strNo = InputBoxstrNo = InputBox( ( 輸入編號輸入編號 , ,001001) )。(3 3)使用)使用InputBoxInputBox函數(shù)一次只能輸入一個數(shù)據(jù)。如果要函數(shù)一次只能輸入一個數(shù)據(jù)。如果要輸入多個數(shù)據(jù),則必須多次使用該函數(shù)。輸入多個數(shù)據(jù),則必須多次使用該函數(shù)?!綪90P90例例5.15.1】通過通過InputBoxInputBox函數(shù)輸入兩個數(shù)字存入變量函數(shù)輸入兩個數(shù)字存入變量a a、b b,然后將其互換。然后將其互換。在窗體上添加一個命令按鈕,設在窗體上添加一個命令按鈕,設CaptionCaption為為
7、“輸入數(shù)字輸入數(shù)字”。按鈕單擊事件代碼如下:按鈕單擊事件代碼如下: Private Sub Command1_Click() Dim a, b, t Cls a = Val(InputBox(請輸入請輸入 a :, 輸入數(shù)字輸入數(shù)字) b = Val(InputBox(請輸入請輸入 b :, 輸入數(shù)字輸入數(shù)字) Print 交換前交換前: a =; a; , b =; b t = a: a = b: b = t 交換交換 Print 交換后交換后: a =; a; , b =; bEnd Sub運行結果如圖運行結果如圖5.1所示,左圖為所示,左圖為InputBox函數(shù)生成的對話框,右圖為窗體函
8、數(shù)生成的對話框,右圖為窗體顯示結果。顯示結果。 圖圖5.1 InputBox函數(shù)示例函數(shù)示例 單擊演示單擊演示(例例5.1)5.2 5.2 消息對話框消息對話框 w5.2.1 5.2.1 MsgBoxMsgBox函數(shù)函數(shù) w5.2.2 5.2.2 MsgBoxMsgBox語句語句 5.2.1 5.2.1 MsgBoxMsgBox函數(shù)函數(shù) 該函數(shù)能夠在對話框中顯示信息,等待用戶選擇按鈕,并返該函數(shù)能夠在對話框中顯示信息,等待用戶選擇按鈕,并返回一個整數(shù)指明用戶單擊了哪個按鈕。語法格式如下:回一個整數(shù)指明用戶單擊了哪個按鈕。語法格式如下:變量變量 = MsgBox(提示信息提示信息,按鈕,按鈕 ,
9、對話框標題,對話框標題參數(shù)說明:參數(shù)說明: 提示信息提示信息和和對話框標題對話框標題參數(shù)的作用與參數(shù)的作用與InputBoxInputBox函數(shù)的對應函數(shù)的對應參數(shù)相同。參數(shù)相同。 按鈕按鈕參數(shù)為數(shù)值表達式,是可選項,用來控制在對話框內(nèi)參數(shù)為數(shù)值表達式,是可選項,用來控制在對話框內(nèi)顯示的按鈕種類和數(shù)量以及圖標類型。該參數(shù)的值由四類數(shù)顯示的按鈕種類和數(shù)量以及圖標類型。該參數(shù)的值由四類數(shù)值相加產(chǎn)生,這四類數(shù)值分別表示按鈕的類型、顯示圖標的值相加產(chǎn)生,這四類數(shù)值分別表示按鈕的類型、顯示圖標的種類、默認按鈕的位置和消息框的強制返回特征,如表種類、默認按鈕的位置和消息框的強制返回特征,如表5.15.1所
10、示。所示。 表表5.1 “按鈕按鈕”參數(shù)的設置值及意義參數(shù)的設置值及意義 “按鈕按鈕”參數(shù)由上面四類數(shù)值相加組成,其組成原則是:參數(shù)由上面四類數(shù)值相加組成,其組成原則是:從每一類中選擇一個值,把這幾個值加在一起就是該參數(shù)的值。從每一類中選擇一個值,把這幾個值加在一起就是該參數(shù)的值。若省略某類數(shù)值,則默認該類數(shù)值為若省略某類數(shù)值,則默認該類數(shù)值為0。不同的組合會得到不。不同的組合會得到不同的結果,如果省略同的結果,如果省略“按鈕按鈕”參數(shù),則只顯示【確定】按鈕且參數(shù),則只顯示【確定】按鈕且無圖標。例如,無圖標。例如,“按鈕按鈕”參數(shù)被設為以下三種組合時,將顯示參數(shù)被設為以下三種組合時,將顯示圖圖
11、5.3所示的效果。所示的效果。 0+16+0+0=16 3+32+256+0=291 2+48+0+0=50 圖圖5.3 MsgBox函數(shù)函數(shù)“按鈕按鈕”參數(shù)示例參數(shù)示例 “按鈕按鈕”參數(shù)若采用參數(shù)若采用VB符號常量則更加直觀。例如:符號常量則更加直觀。例如: vbYesNo + vbQuestion MsgBox函數(shù)可以通過返回值判斷用戶選擇了哪一個按函數(shù)可以通過返回值判斷用戶選擇了哪一個按鈕,對應情況如表鈕,對應情況如表5.2所示。該返回值用來作為程序繼續(xù)執(zhí)所示。該返回值用來作為程序繼續(xù)執(zhí)行的依據(jù),通常用選擇結構根據(jù)返回值決定后面的操作。行的依據(jù),通常用選擇結構根據(jù)返回值決定后面的操作。
12、表表5.2 MsgBox函數(shù)的返回值函數(shù)的返回值 【P92P92例例5.25.2】用用MsgBoxMsgBox函數(shù)建立如圖函數(shù)建立如圖5.45.4所示的所示的“退出退出”對話對話框???。在例在例5.15.1的窗體中增加一個命令按鈕,設的窗體中增加一個命令按鈕,設CaptionCaption屬性為屬性為“退出退出”。在該按。在該按鈕的單擊事件中用鈕的單擊事件中用UnloadUnload語句卸載窗體:語句卸載窗體:Unload Me為窗體的為窗體的UnloadUnload事件編寫如下代碼:事件編寫如下代碼:Private Sub Form_Unload(Cancel As Integer) Dim
13、 MyExit As Integer MyExit = MsgBox(確實想退出嗎?確實想退出嗎?, _vbYesNo + vbQuestion _ + vbDefaultButton2, 退出退出) 默認按鈕為【否】默認按鈕為【否】 If MyExit = vbNo Then Cancel = 1 將將Cancel參數(shù)設為非零值可取消卸載參數(shù)設為非零值可取消卸載 End IfEnd Sub 程序運行后單擊【退出】按鈕或窗體右上角的關閉程序運行后單擊【退出】按鈕或窗體右上角的關閉按鈕時,將會彈出圖按鈕時,將會彈出圖5.4所示的對話框,此時若單擊所示的對話框,此時若單擊【是】按鈕則完成窗體卸載,
14、單擊【否】按鈕則取消【是】按鈕則完成窗體卸載,單擊【否】按鈕則取消卸載,返回主窗體。卸載,返回主窗體。 圖圖5.4 【退出】對話框【退出】對話框 單擊演示單擊演示(例例5.2)5.2.2 5.2.2 MsgBox MsgBox 語句語句MsgBoxMsgBox函數(shù)也可以寫成語句形式,即:函數(shù)也可以寫成語句形式,即:MsgBox 提示信息提示信息,按鈕類型,按鈕類型,對話框標題,對話框標題其中各參數(shù)的含義及作用與其中各參數(shù)的含義及作用與MsgBoxMsgBox函數(shù)相同。函數(shù)相同。MsgBoxMsgBox語句和語句和MsgBoxMsgBox函數(shù)實現(xiàn)的功能基本相同,只函數(shù)實現(xiàn)的功能基本相同,只是沒有
15、返回值,因而通常是在只需輸出信息而不必是沒有返回值,因而通常是在只需輸出信息而不必考慮用戶反應的情況下使用??紤]用戶反應的情況下使用。5.3 5.3 通用對話框通用對話框 w5.3.1 5.3.1 通用對話框簡介通用對話框簡介 w5.3.2 5.3.2 文件對話框文件對話框w5.3.3 5.3.3 【顏色】對話框【顏色】對話框w5.3.4 5.3.4 【字體】對話框【字體】對話框w5.3.5 5.3.5 【打印】對話框【打印】對話框w5.3.6 5.3.6 【幫助】對話框【幫助】對話框 5.3.1 5.3.1 通用對話框簡介(通用對話框簡介(1 1) VB VB的通用對話框控件的通用對話框控件
16、CommonDialogCommonDialog提供了一組標準對話框提供了一組標準對話框界面,一個控件即可顯示六種對話框:打開文件、保存文件、界面,一個控件即可顯示六種對話框:打開文件、保存文件、選擇顏色、選擇字體、設置打印機以及幫助對話框。這些對選擇顏色、選擇字體、設置打印機以及幫助對話框。這些對話框僅用于返回用戶輸入、選擇或確認的信息,不能真正實話框僅用于返回用戶輸入、選擇或確認的信息,不能真正實現(xiàn)文件打開和存儲以及顏色設置、字體設置等操作。這些功現(xiàn)文件打開和存儲以及顏色設置、字體設置等操作。這些功能必須通過編寫相應的代碼才能實現(xiàn)。能必須通過編寫相應的代碼才能實現(xiàn)。 1. 1. 加載加載C
17、ommonDialogCommonDialog控件控件 CommonDialog CommonDialog控件是控件是ActiveXActiveX控件,標準工具箱中沒有該控件,標準工具箱中沒有該控件,使用時需要將其添加到工具箱。添加的方法是:選擇控件,使用時需要將其添加到工具箱。添加的方法是:選擇【工程】菜單中的【部件】命令,或者右擊工具箱,在快捷【工程】菜單中的【部件】命令,或者右擊工具箱,在快捷菜單中選擇【部件】命令,打開如第菜單中選擇【部件】命令,打開如第1 1章中圖章中圖1.101.10所示的所示的【 部 件 】 對 話 框 , 在 【 控 件 】 選 項 卡 的 列 表 中 , 將【
18、 部 件 】 對 話 框 , 在 【 控 件 】 選 項 卡 的 列 表 中 , 將Microsoft Common Dialog Control 6.0Microsoft Common Dialog Control 6.0前面的復選框選中,前面的復選框選中,單擊【確定】按鈕。單擊【確定】按鈕。 5.3.1 5.3.1 通用對話框簡介(通用對話框簡介(2 2) 2. 2. 常用方法與屬性常用方法與屬性 當需要在程序中顯示通用對話框時,推薦使用當需要在程序中顯示通用對話框時,推薦使用ShowXXShowXX方方法(法(XXXX表示對話框類型),也可以為該控件的表示對話框類型),也可以為該控件的A
19、ctionAction屬性賦屬性賦值。調(diào)用方法與設置屬性的對應關系如表值。調(diào)用方法與設置屬性的對應關系如表5.35.3所示。所示。 5.3.1 5.3.1 通用對話框簡介(通用對話框簡介(3 3) 除了除了ActionAction屬性外,通用對話框還具有以下主要的共同屬性:屬性外,通用對話框還具有以下主要的共同屬性: (1 1)CancelErrorCancelError屬性屬性 通用對話框內(nèi)有一個【取消】按鈕,用于向程序表示用戶想取消通用對話框內(nèi)有一個【取消】按鈕,用于向程序表示用戶想取消當前的操作。當當前的操作。當CancelErrorCancelError屬性設置為屬性設置為TrueTr
20、ue時,若用戶單擊【取消】時,若用戶單擊【取消】按鈕,通用對話框自動將錯誤對象(按鈕,通用對話框自動將錯誤對象(ErrErr,由由VBVB提供)的錯誤號提供)的錯誤號Err.NumberErr.Number設置為設置為3275532755(VBVB常數(shù)為常數(shù)為cdlCancelcdlCancel)供程序判斷,以便進供程序判斷,以便進行相應的處理。若行相應的處理。若CancelErrorCancelError屬性設置為屬性設置為FalseFalse,則單擊【取消】按則單擊【取消】按鈕時不產(chǎn)生錯誤信息,無法判斷用戶是否單擊了【取消】按鈕。鈕時不產(chǎn)生錯誤信息,無法判斷用戶是否單擊了【取消】按鈕。 (
21、2 2)DialogeTitleDialogeTitle屬性屬性 該屬性可由用戶自行設置對話框標題欄上顯示的內(nèi)容,代替默認該屬性可由用戶自行設置對話框標題欄上顯示的內(nèi)容,代替默認的對話框標題。的對話框標題。 (3 3)FlagsFlags屬性屬性 該屬性用于設置對話框的相關選項(各種具體對話框設置的選項該屬性用于設置對話框的相關選項(各種具體對話框設置的選項略有不同)。略有不同)。5.3.2 5.3.2 文件對話框文件對話框 (1 1) 文件對話框用于獲取文件名,有兩種類型:文件對話框用于獲取文件名,有兩種類型:“打開打開”和和“另存為另存為”對話框。在這兩種對話框窗口內(nèi),可以遍歷磁對話框。在
22、這兩種對話框窗口內(nèi),可以遍歷磁盤的整個目錄結構,找到所需文件,并返回用戶選擇或輸盤的整個目錄結構,找到所需文件,并返回用戶選擇或輸入的文件名。圖入的文件名。圖5.55.5為【打開】對話框,為【打開】對話框,“另存為另存為”對話框對話框與其相似,只是標題和按鈕不同。與其相似,只是標題和按鈕不同。 5.3.2 5.3.2 文件對話框文件對話框 (2 2) 使用使用“打開打開”和和“另存為另存為”對話框時需要設置的屬性主對話框時需要設置的屬性主要有以下幾種。要有以下幾種。 (1 1)FileNameFileName:值為字符串,用于設置或獲取用戶所選值為字符串,用于設置或獲取用戶所選的文件名(包括路
23、徑)。的文件名(包括路徑)。 (2 2)FileTitleFileTitle:文件標題。設計時無效,運行時只讀,文件標題。設計時無效,運行時只讀,返回不包含路徑的文件名。返回不包含路徑的文件名。 (3 3)FilterFilter:過濾器。用于過濾文件類型,使文件列表過濾器。用于過濾文件類型,使文件列表框中只顯示指定文件類型的文件。該屬性的設置格式如下框中只顯示指定文件類型的文件。該屬性的設置格式如下(其中豎線(其中豎線 | | 是必須要有的語法成分):是必須要有的語法成分):文件說明文件說明1 | 文件類型文件類型1 |文件說明文件說明2|文件類型文件類型2 5.3.2 5.3.2 文件對話
24、框文件對話框 (3 3) 例如,圖例如,圖5.55.5【文件類型】下拉列表中有兩種文件類型,【文件類型】下拉列表中有兩種文件類型,其其FilterFilter屬性設置為:屬性設置為:文本文件文本文件(*.txt)|*.txt|所有文件所有文件(*.*)|*.* (4 4)FilterIndexFilterIndex:過濾器索引??芍付ā疚募愋汀窟^濾器索引??芍付ā疚募愋汀苛斜砜蛑械牡哪J過濾器。當使用列表框中的的默認過濾器。當使用FilteFilte屬性指定了多個過屬性指定了多個過濾器時,第一個過濾器的索引值為濾器時,第一個過濾器的索引值為1 1,第二個過濾器的索引,第二個過濾器的索引值為
25、值為2.2.。索引值。索引值0 0與與1 1等價。圖等價。圖5.55.5中中FilterIndex=0FilterIndex=0,默默認顯示的是認顯示的是“文本文件(文本文件(* *. .txttxt)”。 (5 5)InitDirInitDir:初始化路徑。用來指定文件對話框中的初始化路徑。用來指定文件對話框中的初始目錄。若顯示當前目錄,則該屬性無須設置。初始目錄。若顯示當前目錄,則該屬性無須設置。5.3.2 5.3.2 文件對話框文件對話框 (4 4) (6 6)DefaultExtDefaultExt:用于用于“另存為另存為”對話框,它對話框,它表示所存文件的默認擴展名。表示所存文件的默
26、認擴展名。 在上述屬性中,除在上述屬性中,除FileTitleFileTitle屬性外,其他屬性屬性外,其他屬性均可在屬性窗口和代碼中設置。此外,包括通用對均可在屬性窗口和代碼中設置。此外,包括通用對話框控件在內(nèi)的大多數(shù)話框控件在內(nèi)的大多數(shù)ActiveXActiveX控件都有一種稱為控件都有一種稱為“屬性頁屬性頁”的屬性設置方式,可以快速設置與控件的屬性設置方式,可以快速設置與控件功能有關的特殊屬性。右擊窗體上的通用對話框控功能有關的特殊屬性。右擊窗體上的通用對話框控件,選擇快捷菜單中的【屬性】命令,即可打開如件,選擇快捷菜單中的【屬性】命令,即可打開如圖圖5.65.6所示的【屬性頁】,對各種
27、對話框的特殊屬所示的【屬性頁】,對各種對話框的特殊屬性進行設置。性進行設置。 圖圖5.6 CommonDialog控件屬性頁控件屬性頁 【P95P95例例5.35.3】用命令按鈕的單擊事件顯示用命令按鈕的單擊事件顯示“打開打開”對話框,對話框,在對話框內(nèi)只顯示位圖文件,初始目錄為在對話框內(nèi)只顯示位圖文件,初始目錄為D:My PicturesD:My Pictures。當當在對話框中選定一個位圖文件后,單擊【打開】按鈕則在標簽在對話框中選定一個位圖文件后,單擊【打開】按鈕則在標簽上顯示所選的文件名,若單擊【取消】按鈕,則顯示上顯示所選的文件名,若單擊【取消】按鈕,則顯示“取消操取消操作作”。代碼
28、如下:。代碼如下:Private Sub Commandl_Click() On Error GoTo ErrCancel 設置出錯處理語句設置出錯處理語句 With CommonDialog1 .InitDir = D:My Pictures 設置初始目錄設置初始目錄 過濾文件類型過濾文件類型 .Filter = 位圖文件位圖文件(*.Bmp)|*.bmp .CancelError = True 控制取消按鈕控制取消按鈕 .ShowOpen 顯示【打開】對話框顯示【打開】對話框 顯示選擇的文件名顯示選擇的文件名 Label1.Caption = .FileName End With Exit
29、 Sub 正常退出本過程正常退出本過程ErrCancel: 以下為錯誤處理程序段以下為錯誤處理程序段 用戶單擊了【取消】按鈕用戶單擊了【取消】按鈕 If Err.Number = cdlCancel Then Label1.Caption = 取消操作取消操作 End IfEnd Sub 如果將上述代碼中的如果將上述代碼中的ShowOpen改為改為ShowSave即可顯示即可顯示【另存為】對話框?!玖泶鏋椤繉υ捒颉?單擊演示單擊演示(例例5.3) 在例在例5.35.3的代碼中,的代碼中,On ErrorOn Error語句是第一次使用,語句是第一次使用,在此對它作簡要說明。在此對它作簡要說明。
30、On ErrorOn Error語句有多種語法格式,語句有多種語法格式,這里使用的是其格式之一:這里使用的是其格式之一: On Error GoTo 標號標號 該語句的作用是當程序發(fā)生錯誤時,跳轉到該語句的作用是當程序發(fā)生錯誤時,跳轉到“標號標號”處繼續(xù)執(zhí)行。在例處繼續(xù)執(zhí)行。在例5.35.3中,為了防止用戶單擊【取消】中,為了防止用戶單擊【取消】按鈕時仍在標簽上顯示所選的文件名,所以將對話框按鈕時仍在標簽上顯示所選的文件名,所以將對話框的的CancelErrorCancelError屬性設為屬性設為TrueTrue,即故意引發(fā)錯誤,以即故意引發(fā)錯誤,以便使程序轉到標號便使程序轉到標號“ErrC
31、ancelErrCancel:”處繼續(xù)執(zhí)行。當處繼續(xù)執(zhí)行。當使用標號引導一段錯誤處理代碼時,應在標號之前加使用標號引導一段錯誤處理代碼時,應在標號之前加入入 Exit Sub Exit Sub 語句,以防止程序未出錯時也執(zhí)行錯誤處理代碼。語句,以防止程序未出錯時也執(zhí)行錯誤處理代碼。 5.3.3 5.3.3 【顏色】對話框(顏色】對話框(1) 【顏色】對話框用于獲取用戶選擇或設置的顏色。調(diào)【顏色】對話框用于獲取用戶選擇或設置的顏色。調(diào)用通用對話框的用通用對話框的ShowColorShowColor方法時,顯示如圖方法時,顯示如圖5.75.7所示的所示的【顏色】對話框。在對話框的調(diào)色板中提供了【顏
32、色】對話框。在對話框的調(diào)色板中提供了4848種基本顏種基本顏色供選擇,還提供了自定義顏色供用戶自己調(diào)色。色供選擇,還提供了自定義顏色供用戶自己調(diào)色。 5.3.3 5.3.3 【顏色】對話框(【顏色】對話框(2) ColorColor屬性是【顏色】對話框最重要的屬性,它設置或屬性是【顏色】對話框最重要的屬性,它設置或返回選定的顏色。該屬性為長整型數(shù)據(jù),有效范圍為返回選定的顏色。該屬性為長整型數(shù)據(jù),有效范圍為0 0& &HFFFFFFHFFFFFF(16,777,21516,777,215)。)。當用戶在調(diào)色板中選中某種顏當用戶在調(diào)色板中選中某種顏色時,系統(tǒng)將該顏色值賦給色時,系統(tǒng)
33、將該顏色值賦給ColorColor屬性。在代碼中可利用該屬性。在代碼中可利用該屬性為其他對象的顏色屬性賦值。例如,下面的代碼可以屬性為其他對象的顏色屬性賦值。例如,下面的代碼可以將用戶在將用戶在“顏色顏色”對話框中選定的顏色設置為文本框的背對話框中選定的顏色設置為文本框的背景色,并將文本框的前景色設為背景色的互補色。景色,并將文本框的前景色設為背景色的互補色。CommonDialog1.ShowColorText1.BackColor = CommonDialog1.ColorText1.ForeColor = &HFFFFFF - CommonDialog1.Color注:用十六進制
34、數(shù)注:用十六進制數(shù)& &HFFFFFFHFFFFFF減去某個顏色值即為該顏色的減去某個顏色值即為該顏色的互補色值。互補色值。 5.3.4 5.3.4 【字體】對話框【字體】對話框 (1) 【字體】對【字體】對話框供用戶選擇話框供用戶選擇字體,可獲取用字體,可獲取用戶所選字體的名戶所選字體的名稱、樣式、大小稱、樣式、大小及效果。調(diào)用通及效果。調(diào)用通用 對 話 框 的用 對 話 框 的ShowFontShowFont方法時,方法時,顯示如圖顯示如圖5.85.8所所示的【字體】對示的【字體】對話框。話框。 圖圖5.8 【字體】對話框【字體】對話框 5.3.4 5.3.4 【字體】對話
35、框【字體】對話框 (2) 在使用在使用CommonDialogCommonDialog控件選擇字體之前,必控件選擇字體之前,必須設置須設置FlagsFlags屬性值。該屬性控制屬性值。該屬性控制CommonDialogCommonDialog控控件是否顯示屏幕字體、打印機字體或者兩者皆有。件是否顯示屏幕字體、打印機字體或者兩者皆有。如果未設置如果未設置FlagsFlags屬性值而直接打開【字體】對話屬性值而直接打開【字體】對話框,框,VBVB將顯示圖將顯示圖5.95.9所示的錯誤提示。所示的錯誤提示。 圖圖5.9 未設置未設置Flags屬性值的錯誤提示屬性值的錯誤提示5.3.4 5.3.4 【
36、字體】對話框【字體】對話框 (3)通用對話框用于字體操作時涉及到的重要屬性有:通用對話框用于字體操作時涉及到的重要屬性有:(1 1)FlagsFlags屬性:在【字體】對話框中常用的屬性:在【字體】對話框中常用的FlagsFlags屬性設置值如表屬性設置值如表5.45.4所示。其中,前三項必須所示。其中,前三項必須選擇其一才能防止圖選擇其一才能防止圖5.95.9所示的錯誤。所示的錯誤。 5.3.4 5.3.4 “字體字體”對話框對話框 (4) ( (2 2) )FontFont屬性集:包括屬性集:包括FontNameFontName( (字體名字體名) )、FontSizeFontSize(
37、(字號字號) )、FontBoldFontBold0(0(粗體粗體) )、FontItalicFontItalic( (斜體斜體) )、FontStrikethruFontStrikethru( (刪除線刪除線) )和和FontUnderlineFontUnderline( (下劃線下劃線) )。 ( (3 3) ) ColorColor屬性:字體顏色。要使用該屬性必須使屬性:字體顏色。要使用該屬性必須使FlagsFlags屬性含有屬性含有cdlCFEffectscdlCFEffects值。值。【P97P97例例5.45.4】用【字體】對話框設置文本框的字體,要求用【字體】對話框設置文本框的字
38、體,要求字體對話框內(nèi)出現(xiàn)【效果】選項(下劃線、刪除線和顏字體對話框內(nèi)出現(xiàn)【效果】選項(下劃線、刪除線和顏色)。色)。 在窗體上放置通用對話框,文本框和命令按鈕。為按在窗體上放置通用對話框,文本框和命令按鈕。為按鈕單擊事件編寫以下代碼:鈕單擊事件編寫以下代碼: Private Sub Command1_Click() With CommonDialog1 .Flags = cdlCFBoth Or cdlCFEffects 設置設置Flags .FontName = 宋體宋體 設置對話框默認字體設置對話框默認字體 .ShowFont 顯示字體對話框顯示字體對話框 Text1.FontName =
39、 .FontName 設置文本框字體名設置文本框字體名 Text1.FontSize = .FontSize 設置字體大小設置字體大小 Text1.FontBold = .FontBold 設置粗體設置粗體 Text1.FontItalic = .FontItalic 設置斜體設置斜體 Text1.FontStrikethru = .FontStrikethru 設置刪除線設置刪除線 Text1.FontUnderline = .FontUnderline 設置下劃線設置下劃線 Text1.ForeColor = .Color 設置顏色設置顏色 End WithEnd Sub 單擊演示單擊演示
40、(例例5.4) 當當Flags=cdlCFBooth Or cdlCFEfects時,對話框如圖時,對話框如圖5.10所示,與圖所示,與圖5.8相比增加了【效果】選項。也可以用相比增加了【效果】選項。也可以用Flags=259表示該設置(表示該設置(256+3=259)。)。 圖圖5.10 用用Flags屬性加入【效果】選項屬性加入【效果】選項 5.3.5 5.3.5 【打印】對話框(【打印】對話框(1) 【打印】對話框如【打印】對話框如圖圖5.115.11所示,設計時可通過所示,設計時可通過圖圖5.125.12所示的【屬性頁】設置其屬性。運行時該對話所示的【屬性頁】設置其屬性。運行時該對話框
41、供用戶選擇打印機,設置打印參數(shù)(如打印范圍、框供用戶選擇打印機,設置打印參數(shù)(如打印范圍、份數(shù)等)。通過對話框中的【屬性】按鈕可設置打份數(shù)等)。通過對話框中的【屬性】按鈕可設置打印機的屬性?!敬蛴 繉υ捒虿⒉荒芴幚泶蛴」ぷ鳎C的屬性。【打印】對話框并不能處理打印工作,只是一個供用戶選擇或設置打印參數(shù)的界面,所設只是一個供用戶選擇或設置打印參數(shù)的界面,所設參數(shù)存于各屬性中供編程使用。若要打印必須為參數(shù)存于各屬性中供編程使用。若要打印必須為PrinterPrinter對象(表示所安裝的默認打印機)編寫程對象(表示所安裝的默認打印機)編寫程序來實現(xiàn)。序來實現(xiàn)。5.3.5 5.3.5 【打印】對話框
42、(【打印】對話框(2)圖圖5.11 5.11 【打印】對話框【打印】對話框 圖圖5.12 5.12 【打印】對話框屬性【打印】對話框屬性 5.3.5 5.3.5 【打印】對話框(【打印】對話框(3) 通用對話框用于打印操作時涉及到的重要屬性主通用對話框用于打印操作時涉及到的重要屬性主要有:要有:(1 1)CopiesCopies(副本):指定打印份數(shù)。副本):指定打印份數(shù)。(2 2)FromPageFromPage(起始頁)、起始頁)、ToPageToPage(終止頁):終止頁):打印的起始頁號和終止頁號。打印的起始頁號和終止頁號。(3 3)MinMin(最小值)、最小值)、MaxMax(最大
43、值):打印的最最大值):打印的最小頁數(shù)和最大頁數(shù)。小頁數(shù)和最大頁數(shù)。( 4 4 ) O r i e n t a t i o nO r i e n t a t i o n ( 方 向 ) : 打 印 方 向 。方 向 ) : 打 印 方 向 。cdlPortraitcdlPortrait為縱向;為縱向;cdlLandscapecdlLandscape為橫向。為橫向。 【P98P98例例5.55.5】在例在例5.45.4中增加一個命令按鈕,調(diào)用【打印】中增加一個命令按鈕,調(diào)用【打印】對話框,打印文本框中的內(nèi)容。對話框,打印文本框中的內(nèi)容。調(diào)用調(diào)用PrinterPrinter對象的對象的PrintP
44、rint方法將要打印的內(nèi)容發(fā)送到打印機即方法將要打印的內(nèi)容發(fā)送到打印機即可實現(xiàn)打印。調(diào)用可實現(xiàn)打印。調(diào)用PrinterPrinter對象的對象的EndDocEndDoc方法可結束打印操作。方法可結束打印操作。代碼如下:代碼如下:Private Sub Command2_Click() Dim i As Integer CommonDialog1.ShowPrinter 顯示【打印】對話框顯示【打印】對話框 For i = 1 to CommonDialog1.Copies 按份數(shù)打印按份數(shù)打印 Printer.Print Text1.Text 打印文本框中的內(nèi)容打印文本框中的內(nèi)容 Next P
45、rinter.EndDoc 結束文檔打印結束文檔打印End Sub單擊演示單擊演示(例例5.5)5.3.6 5.3.6 【幫助】對話框【幫助】對話框 (1) CommonDialogCommonDialog控件的控件的ShowHelpShowHelp方法可調(diào)用方法可調(diào)用WindowsWindows的幫助引擎,并顯示由的幫助引擎,并顯示由HelpFileHelpFile屬性設定屬性設定的一個幫助文件。的一個幫助文件。【幫助】對話框涉及到的重要屬性有:【幫助】對話框涉及到的重要屬性有:(1 1)HelpFileHelpFile(幫助文件):用于指定幫助文件幫助文件):用于指定幫助文件的路徑及其文件
46、名稱。的路徑及其文件名稱。(2 2)HelpCommandHelpCommand(幫助命令):用于返回或設置幫助命令):用于返回或設置所需要的聯(lián)機幫助的類型。所需要的聯(lián)機幫助的類型。 5.3.6 5.3.6 【幫助】對話框【幫助】對話框 (2)注意:注意: 用于打開【幫助】對話框的用于打開【幫助】對話框的ShowHelpShowHelp方法僅支方法僅支持持. .hlphlp類型的幫助文件,不能直接打開類型的幫助文件,不能直接打開. .chmchm類型的類型的幫助文件。該方法在幫助文件。該方法在Windows 98Windows 98中使用正常,而在中使用正常,而在Windows 2000Win
47、dows 2000及以上版本的操作系統(tǒng)中無法正常使及以上版本的操作系統(tǒng)中無法正常使用。用。本講到此結束,謝謝!下課。本講到此結束,謝謝!下課。第第1010講:教材講:教材P99P99100100內(nèi)容:內(nèi)容: 輸入對話框輸入對話框 消息框消息框1.通用對話框通用對話框同學們好,現(xiàn)在開始上課!同學們好,現(xiàn)在開始上課!5.4 5.4 自定義對話框(自定義對話框(1 1) 自定義對話框是根據(jù)實際應用的需要設計的對自定義對話框是根據(jù)實際應用的需要設計的對話 框 。 當話 框 。 當 V BV B 所 提 供 的 通 用 對 話 框 控 件 以 及所 提 供 的 通 用 對 話 框 控 件 以 及Inpu
48、tBoxInputBox和和MsgBoxMsgBox函數(shù)不能滿足應用程序的需求函數(shù)不能滿足應用程序的需求時,就需要自制對話框。自定義對話框實際上是時,就需要自制對話框。自定義對話框實際上是一個含有若干控件的窗體,用以構成用戶與系統(tǒng)一個含有若干控件的窗體,用以構成用戶與系統(tǒng)對話的界面,通常將窗體的對話的界面,通常將窗體的BorderStyleBorderStyle屬性設為屬性設為3-3-Fixed DialogFixed Dialog或或1-1-Fixed SingleFixed Single,使其無最大使其無最大化和最小化按鈕,不能改變大小。在化和最小化按鈕,不能改變大小。在2.3.6 2.3
49、.6 小節(jié)小節(jié)例例2.72.7中的【關于】窗體就是一個自定義對話框。中的【關于】窗體就是一個自定義對話框。5.4 5.4 自定義對話框(自定義對話框(2 2) 下面再通過一個較實用的示例說明自制對話框的下面再通過一個較實用的示例說明自制對話框的創(chuàng)建過程,同時復習一下前面介紹的創(chuàng)建過程,同時復習一下前面介紹的MsgBoxMsgBox語句。語句?!綪99P99例例5.65.6】創(chuàng)建一個用戶登錄對話框,要求用創(chuàng)建一個用戶登錄對話框,要求用戶輸入用戶名和密碼。用戶名為戶輸入用戶名和密碼。用戶名為“admin”admin”,不區(qū)不區(qū)分大小寫;密碼為分大小寫;密碼為“12345”“12345”。若用戶名和
50、密碼輸。若用戶名和密碼輸入正確,單擊【確定】按鈕后顯示程序主窗體,入正確,單擊【確定】按鈕后顯示程序主窗體,否則提示用戶重新輸入。若錯誤超過三次,結束否則提示用戶重新輸入。若錯誤超過三次,結束運行。運行。 5.4 5.4 自定義對話框(自定義對話框(3 3) (1 1)設計界面及設置屬性)設計界面及設置屬性 新建工程,將窗體默認名稱新建工程,將窗體默認名稱Form1Form1改為改為frmLoginfrmLogin,設設BorderStyleBorderStyle屬性為屬性為3 3,CaptionCaption屬性為【登錄】。在窗體上屬性為【登錄】。在窗體上添加兩個文本框,名稱分別為添加兩個文
51、本框,名稱分別為txtUsertxtUser和和txtPasswordtxtPassword,TextText屬性均設為空。設屬性均設為空。設txtPasswordtxtPassword文本框的文本框的PasswordPassword屬屬性為性為“* *”。添加兩個標簽,。添加兩個標簽,CaptionCaption屬性分別為【用戶名】屬性分別為【用戶名】和【用戶密碼】。添加兩個命令按鈕,名稱分別為和【用戶密碼】。添加兩個命令按鈕,名稱分別為cmdOkcmdOk和和cmdExitcmdExit,CaptionCaption分別為【確定】、【退出】。設置【確分別為【確定】、【退出】。設置【確定】按
52、鈕定】按鈕Default=TrueDefault=True,【,【退出】按鈕退出】按鈕Cancel=TrueCancel=True。 添加一個窗體,名稱為添加一個窗體,名稱為frmMainfrmMain,設設CaptionCaption屬性為【主屬性為【主窗體】。在窗體上添加一個標簽,設窗體】。在窗體上添加一個標簽,設CaptionCaption屬性為【歡迎屬性為【歡迎進入本系統(tǒng)】,字體為華文新魏,二號字。進入本系統(tǒng)】,字體為華文新魏,二號字。 5.4 5.4 自定義對話框(自定義對話框(4 4) (2 2)編寫代碼)編寫代碼為為frmLoginfrmLogin窗體的【確定】按鈕的單擊事件編寫以下代碼,窗體的【確定】按鈕的單擊事件編寫以下代碼,進行用戶登錄檢測:進行用戶登錄檢測:Private Sub cmdOk_Click() Static intErr As Integer 靜態(tài)變量累加出錯次數(shù)靜態(tài)變量累加出錯次數(shù) Dim sUser As String Dim sPass As String 用戶名不區(qū)分大小寫用戶名不區(qū)分大小寫 sUser = UCase$(Trim$(txtUser.Text) sPass = Trim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025員工解除勞動合同協(xié)議書范文
- 2025合同終止的具體法律事實解析
- 2025關于機械設備租賃合同
- 2025深圳市標準商鋪租賃合同范本
- 2025短期臨時勞動合同協(xié)議書
- 2025年深入理解技術合同與勞務合同的區(qū)別與聯(lián)系
- 2025精簡版的購房合同協(xié)議書
- 《全球建筑》課件
- 《常見的健康問題解析》課件
- 《脊柱側彎的護理》課件
- 人力資源的5分鐘勞動法
- 當代學前兒童家庭教育的問題與對策研究 論文
- 小學語文五年下冊《習作:形形色色的人》說課稿(附教學反思、板書)課件
- 公務員錄用體檢操作手冊
- 建筑施工企業(yè)預結算制度
- 2023年中央民族大學事業(yè)編制人員招聘(共500題含答案解析)筆試歷年難、易錯考點試題含答案附詳解
- 醫(yī)務人員手衛(wèi)生PPT
- 部編版二年級語文(下冊)期末復習教案+計劃2
- 軌道起重吊車安全操作規(guī)程
- 《將本土美食文化融入幼兒園課程的實踐》 論文
- 2021兒童體格發(fā)育評估與管理臨床實踐專家共識
評論
0/150
提交評論