第三卷 常用對話框的設計和使用(1 / 3)

第三卷 常用對話框的設計和使用

用任何的編程語言編製應用程序時,都是一個程序員與編程環境的交流過程,而任何一個應用程序的運行的目的都是為了用戶與程序之間的成功交流,從而達到更好的為用戶服務的目的。在本章主要講述的是在編製應用程序的過程中,程序員如何與Visual Basic 6.0編程環境之間交流,如何能夠更加高效的工作。

提示:

* 在Visual Basic 6.0中的交流手段有兩種:一是在程序運行過程中的對話框,另外就是利用程序調試工具。

本章將通過幾個典型的示例介紹對話框設計,而程序調試的內容在本書的其他內容中穿插介紹。

第一章 輸入對話框

在Visual Basic 6.0中顯示一個輸入對話框所調用的函數是InputBox(),它的作用是顯示一個對話框,等待用戶輸入正文或按下按鈕,並返回包含文本框內容的一個字符串。

它的語法結構如下所示:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

如下麵的幾條語句就可以實現顯示一個輸入對話框的功能。

Private Sub Form_Load()

InputBox ""

End Sub

運行程序,結果如圖3-1所示。

圖3-1 不帶任何參數的輸入對話框

其中InputBox函數的參數說明如表3-1所示。

表3-1 參數說明

參 數

說 明

prompt

作為對話框消息出現的字符串表達式

title

顯示對話框標題欄中的字符串表達式

default

顯示文本框中的字符串表達式,在沒有其他輸入時作為缺省值

xpos

指定對話框的左邊與屏幕左邊的水平距離

ypos

指定對話框的上邊與屏幕上邊的距離

Context

由幫助文件的作者指定給某個幫助主題的幫助上下文編號

下麵以一個示例來說明InputBox函數的用法,它的具體設計步驟如下:

1.開始工作

首先啟動一個新的項目,在空白的窗體上放置一個CommandButton控件、三個TextBox控件和兩個Label控件,窗體及控件的屬性設置如表3-2所示。

表3-2 窗體和控件的屬性設置

名 稱

屬 性

設 置

窗體

(Name)

Form1

Caption

輸入對話框示例程序

TextBox控件

(Name)

Text1

Text

3.141592653589

TextBox控件

(Name)

Text2

Text

待輸入數據

TextBox控件

(Name)

Text3

Text

計算結果

CommandButton控件

(Name)

Command1

Caption

輸入數據

Label控件

(Name)

Label2

Caption

*

Label控件

(Name)

Label1

Caption

=

添加控件後的窗體如圖3-2所示。

圖3-2 添加控件後的窗體

2.添加代碼

首先進行程序的初始化工作,在窗體的設計階段雙擊窗體,在窗體的聲明模塊中定義一個全局變量。

Dim number1 As Double

'定義一個全局變量

添加窗體的初始化代碼,在窗體的代碼窗口中找到窗體的Form_Load()事件,並且在其中添加初始化變量的代碼如下:

Private Sub Form_Load()

Number = 0

'變量初始化

End Sub

最後添加相應CommandButton控件動作的代碼,在控件"輸入數據"按鈕的Command1_Click()事件中添加下列代碼:

Private Sub Command1_Click()

Number = InputBox("請輸入一個有效的數字變量值:", "輸入數據", 0)

'顯示一個輸入對話框

Text2.Text = Number

Text3.Text = Number * Text1.Text

'顯示運算結果

End Sub

3.運行程序

存儲文件,按鍵盤上的功能鍵F5運行程序,程序運行的初始畫麵如圖3-3所示。

圖3-3 程序運行的初始畫麵

單擊"輸入數據"按鈕,就會彈出一個等待用戶輸入一個有效的數字的對話框,如圖3-4所示。

圖3-4 輸入對話框

在"輸入數據"對話框中輸入一個數字後,單擊OK按鈕,就會返回程序運行的窗體,如圖3-5所示。

圖3-5 程序的運行結果

第二章 輸出對話框

在Visual Basic6.0中調用MsgBox()函數顯示一個輸出對話框,等待用戶單擊按鈕,並返回一個整型數,告訴用戶單擊哪一個按鈕。

它的語法如下所示:

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

其中的參數及其說明如下所示。

Prompt作為顯示在對話框中的消息

Buttons指定顯示按鈕的數目及形式,使用的圖標樣式,缺省按鈕是什麼以及消息框的強製回應等

Title在對話框標題欄中顯示的字符串表達式

Helpfile識別用來向對話框提供上下文相關幫助的幫助文件

Context由幫助文件的作者指定給適當的幫助主題的幫助上下文編號

其中Button參數的設置略微有一些複雜,它包括四個方麵的設置,如下所示:

* 第一組值 描述對話框中顯示的按鈕的類型與數目(0-5);

* 第二組值 描述圖標的樣式(16,32,48,64);

* 第三組值 說明哪一個按鈕是缺省值(0,256,512);

* 第四組值 決定消息框的強製返回性(0, 4096)。

它的具體設置值及其說明如表3-3所示。

表3-3 Button參數的設置

設置值

說 明

0

隻顯示 OK 按鈕。

1

顯示 OK 及 Cancel 按鈕。

續 表

設置值

說 明

2

顯示 Abort、Retry 及 Ignore 按鈕。

3

顯示 Yes、No 及 Cancel 按鈕。

4

顯示 Yes 及 No 按鈕。

5

顯示 Retry 及 Cancel 按鈕。

16

顯示 Critical Message 圖標。

32

顯示 Warning Query 圖標。

48

顯示 Warning Message 圖標。

64

顯示 Information Message 圖標。

0

第一個按鈕是缺省值。

256

第二個按鈕 是缺省值。

512

第三個按鈕是缺省值。

768

第四個按鈕是缺省值。

0

應用程序被掛起,直到用戶對消息框作出響應才繼續工作。

4096

全部應用程序都被掛起,直到用戶對消息框作出響應才繼續工作。

注意:

* 將這些數字相加以生成 buttons 參數值的時候,隻能由每組值取用一個數字。

MsgBox函數的功能不僅能夠顯示一個輸出對話框,而且還能夠返回一個整型的數值,把用戶的反應通知給應用程序,如表3-4所示。

表3-4 MsgBox函數的返回值

返回值

用戶的反應

1

OK

2

Cancel

3

Abort

4

Retry

5

Ignore

6

Yes

7

No

下麵以一個示例來說明MsgBox函數的用法:

1.開始工作

首先啟動一個新的項目,向空白的窗體上添加一個Shape控件,添加控件後的窗體如圖3-6所示。

圖3-6 添加控件後的窗體

其中Shape控件的屬性設置如表3-5所示。

表3-5 Shape控件的屬性設置

屬 性

設 置

(Name)

Shape1

BackStyle

0 - Transparent

BorderStyle

1 - Solid

FillColor

&H00000000&

FillStyle

0 - Solid

Height

2055

Left

600

Shape

0 - Rectangle

Top

720

Width

3375

這樣設置的控件有以下的特性:

* 以實心的方式填充控件;

* 以黑色(&H00000000&)填充控件;

* 控件顯示的是矩形。

2.添加代碼

在窗體的設計階段,雙擊窗體,在窗體的Form_Load()事件中添加下列代碼:

Private Sub Form_Load()

Dim str As Integer

'定義一個整型變量

str = MsgBox("MsgBox函數的用法:", 67, "MsgBox函數")

'輸出一個對話框

If str < 7 Then

Shape1.Shape = str - 1

End If '改變控件的形狀

End Sub

提示:

* 運行程序,就會激活一個Form_Load()事件,程序首先定義一個整型變量用來存儲用戶對輸出對話框的響應,然後通過語句Shape1.Shape = str - 1把用戶的響應轉化到控件形狀的改變上。

3.運行程序

存儲文件,運行程序,就會彈出一個如圖3-7所示的對話框。

圖3-7 輸出對話框

單擊"確定"按鈕,返回到運行的窗體,結果如圖3-8所示,控件Shape的形狀已經變成了圓角矩形。

圖3-8 程序的運行結果

第三章 公共對話框控件

在Visual Basic 6.0中的公共對話框為用戶提供了一組標準的操作對話框Common Dialog,進行諸如打開和保存文件、設置打印選項以及選擇顏色和字體等操作。

技巧:

* 如果想在程序中顯示一個公共對話框,首先要將CommonDialog控件添加到缺省的工具箱中,然後才能夠把它放置到窗體上設置其屬性。

首先,我們需要設置對話框控件的屬性。CommonDialog控件所顯示的對話框由控件的相應方法或者有Action屬性的設置值來確定,如表3-6所示所示:

表3-6 方法及其說明

方 法

說 明

ShowOpen

方法用來顯示"打開"對話框

ShowSave

方法用來顯示"另存為"對話框

ShowColor

方法用來顯示"顏色"對話框

ShowFont

方法用來顯示"字體"對話框

ShowPrinter

方法用來顯示"打印"對話框

ShowHelp方法用來調用Windows

幫助

或者設置控件的Action屬性值如表3-7所示:

表3-7 屬性說明

數 值

說 明

0

沒有操作

1

顯示"打開"對話框

2

顯示"另存為"對話框

3

顯示"顏色"對話框

4

顯示"字體"對話框

5

顯示"打印"對話框

6

運行WINHLP32.EXE

CommonDialog控件常用的屬性和方法如表3-8所示。