我在这里学编程基础篇 共50页[1 2 3 4 5 6 7 >»<... 最后一页]

预定义对话框

一、预定义对话框

对话框分为模式对话框与无模式对话框两种类型。对于模式对话框,在继续操作应用程序的其他部分之前,必须先将其关闭。例如,如果一个对话框,在切换到其他窗体或对话框之前要求先单击[确定][取消]按钮,则它就是模式的。

Visual Basic中的[打开文件]对话框与[关于]对话框都是模式对话框。显示重要消息的对话框应当是模式的,这就是说,在继续做下去之前,总是要求用户先关闭当前对话框或者对它的消息做出响应。

无模式对话框则允许用户在对话框与其他窗体之间转移焦点,而不用关闭对话框。当对话框正在显示时,可以在当前应用程序的其他地方继续工作。无模式对话框很少使用,主要用于显示频繁使用的命令与信息。在Visual Basic中,执行[编辑]菜单中[查找]命令打开的[查找]对话框就是一个无模式对话框。

在应用程序中添加对话框最容易的方法是使用预定义对话框,因为不必考虑设计、装载或者显示对话框方面的问题。然而,其控件在外观上要受到限制。预定义的对话框总是模式的。

Visual Basic应用程序中添加预定义对话框时所使用的函数。
     InputBox函数    产生输入框,并返回用户所输入的内容
     MsgBox函数    产生消息框,并返回一个表示命令按钮已被单击的值

、输入框
   
Input函数用来产生要求输入数据的输入框;在输入框中显示提示文本、文本框和按钮;等待用户的输入或按下按钮,并返回用户在文本框中输入的内容。

    如上图所示的输入框就是使用InputBox函数所产生的,用来提示用户输入要在窗体上显示的内容。

    生成该输入框的代码如下所示:
    Word = InputBox("请输入要在窗体中显示的内容:", "输入")   

    只需再做一点工作就可以将上面的文本输入框使用到程序中了。

     实例使用输入框

    在窗体中放置一个按钮控件,并设置它的Capdon属性的值为“输入要显    示的内容”,双击这个按钮控件打开它的代码窗口,编写如下代码:

Private Sub Command1_Click()
     word = InputBox("请输入要在窗体中显示的内容:", "输入")
     Print word
     End Sub

在该程序中,InputBox函数将产生一个输入框,并且该函数包含有两个参 数,其中第一个参数是指输入框中的用户提示字符串,第二个参数是指输入框的标题文本。InputBox函数将用户输入的内容返回给变量word,然后再使用Print命令将变量word的值显示在窗体上。

单击工具栏中的[运行]按钮运行该程序,单击窗体中的按钮,则在屏幕的中央弹 出如图所示的标题为[输入]的输入框,在其中输入所要显示的内容后,单击[确定]按钮,在窗体的左上角就显示出了用户在输入框中输入的内容,同时,输入框关闭,如图所示。

单击确定按钮后输入框的内容

上面介绍了一个使用InputBox函数的实例。使用InputBox函数除了可以指定用户提示字符串和输入框的标题外,还可以指定输入框中的初始值、输入框在屏幕上的位置以及它是否显示一个“帮助”按钮。下面给出InputBox函数的一般格式:    

InputBox(promptLtitlelIdefault)[xpos)L),pos)Ihelpfilecontext])

   1nputBox函数语法中的备参数的含义

Prompt必须的。作为对话框消息出现的字符串表达式,Prompt的最大长度约为1024个字符,由所用字符的宽度决定。如果Prompt包含多个行,则可在各行之间用回车符(Cb(13》、换行符(Chr00))或回车换行符的组合(Chr(13)&Chr(10))来分隔

Title可选的,显示对话框标题栏中的字符串表达式。如果省略Title,则把应用程序名放入标题栏中

Default可选的。显示文本框中的字符串表达式,在没有其他输入时作为缺省值。如果省略Default,则文本框为空

Xpos可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略Xpos,则对话框会在水平方向居中

Ypos可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略Ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位

Helpfile可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供Helpfile,则也必须提供Context

Context可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供Context,则也必须要提供Helpfile

如果同时提供了HelpnleContext,用户可以按n键来查看与Context相应的帮助主题。

如果用户单击输入框中的(确定]按钮,则InputBox函数返回文本框中的内容。如果用户单击[取消]按钮,则此函数返回一个长度为零的字符串(””)    

如果要省略某些位置参数,则必须加入相应的逗号分界符。

三、消息框

    MsgBox函数用来产生一个消息框。消息框用来显示简短的消息,并要求    用户作出一定的响应。例如,报告操作错误或向用户提示信息。看完这些消    息以后,可选取一个按钮来关闭该对话框。

下图所示的消息框就是使用MsgBox函数产生的,它提示用户在文本框中没有输入任何内容。

    创建该消息框的代码如下:

   Msg = MsgBox("您没有在文本框中输入任何内容", 48, "提示")

    这里我们通过编写一个程序,来讲解如何在程序中使用MsgBox函数创建消息框。

      实例使用消息框1

    这个程序包含一个文本框和一个按钮,在文本框中输入内容后单击按钮则所输入的内容就显示在窗体中;如果在文本框中没有输入任何内容,则击按钮后会弹出一个提示框,告诉用户没有在文本框中输入任何内容, 上图所。下面是编制这个小程序的具体过程。

首先,在窗体中放置一个文本框控件,设置它的Text属性的值为空,再放置一个按钮控件,设置它的Caption属性的值为“确定”。文本框与按钮的名称均使用系统默认的名称。双击按钮控件,打开代码窗口,为按钮的Click

  事件编写如下代码:

Private Sub Command1_Click()
If Text1.Text = "" Then
Msg = MsgBox("您没有在文本框中输入任何内容", 48, "提示")
Else
Print Text1.Text
End If
End Sub

在上面的程序段中,使用了一个分支结构来判断文本框中是否输入了内容。运行该程序,直接单击[确定]按钮,则弹出如图所示的消息框。再次运行程序,在文本框中输入内容后,单击[确定]按钮,则不会出现消息框,且在窗体中显示用户输入的内容。

MsgBox函数的一般格式如下:

MsgBOxOrompt[buttonstitlehelpfllecontext])

MsgBox函数中各参数的含义

Prompt必须的。字符串表达式,作为显示在对话框中的消息。Prompt的最大长度大约为1024个字符,由所用字符的宽度决定。如果Prompt的内容超过一行,则可以在每一行之间用回车符(Chr(13))、换行符(Chr(10))或是回车与换行符的组合(Chr03)  &Chdl0))将各行分隔开来·

Buttons:可选的。数值表达式是值的总和,指定显示按钮的数目及形式、使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则Buttons的缺省值为0

Title可选的。在对话框标题栏中显示的字符串表达式。如果省略Title,则将应用程序名放在标题栏中

Helpfile可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了Helpfile,则也必须提供Context

Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了Context,则也必须提供Helpfile

通过为Buttons参数指定不同的值,消息框会呈现出不同样式。所谓消息框的样式是指其上图标与按钮的不同组合。在上例中指定Buttons参数的值为48,该值下的消息框上显示一个惊叹图标和一个确定按钮。

 Buttons参数的设置值及其对应的消息框的样式。

vb01C0y            0    只显示[确定1按钮

VbOKCancel            1    显示[确定][取消]按钮

VbAbortRetrylgnore    2    显示[终止][重试][忽略]按钮

VbYesNoCancel         3    显示[是][][取消]按钮

VbYesNo               4    显示[][]按钮

VbReuyCancel          5    显示[重试1[取消]按钮

VbCritical            17    图标

VbQuestion            32    图标

VbExclamation         48    显示 图标

Vblnformation         64    显示图标

vbDefaultButtonl      0    1个按钮是缺省值

vbDefaultButton2    257    2个按钮是缺省值

vbDefaultButton3    512    3个按钮是缺省值

vbDefaultButton4    778    4个按钮是缺省值

vbApplicationModal    0    应用程序强制返回;应用程序一直被挂起,直到用户对消息框作出响应才继续工作

bSystemModal          4097    系统强制返回;全部应用程序都被挂起,直到用户对消息框作出响应才继续工作

vbMsSBoxHelpBu~on     17384    Help按钮添加到消息框

VbMsgBoxSetForegroun  75537    指定消息框窗口作为前景窗口

vbMsSBoxRight         524288    文本右对齐

    第一组值(0w5)描述了对话框中显示的按钮的类型与数目;第二组值(17    324874)描述了图标的样式;第三组值(0257512)说明哪一个按钮是缺省值; 而第四组值(04097)则决定消息框的强制返回性。将这些数字相加以生成buttons参数值的时候,只能由每组值取用一个数字。

例如,要使实例62的消息框中显示[确定][取消]按钮,并且[]按钮是缺省值,同时在消息框中显示一个信息图标,如图所示。buttons参数的值应该是321(1+257+74)

 在实例中,Msg=MsgBox(”您没有在文本框中输入任何内容”,48,”提示,,)赋值语句将M8gBox函数的值赋给变量MsgMsgBox函数的返回值是根据用户单击哪个按钮而定的。如 上图所示的是按钮与对应的MsgBox函数的返回值。


上图的buttons参数的值应该是530(1 + 512 + 17)

   MsgBox函数酌返回值

  VbOk       1    [确定]按钮

  VbCancel    2    [取消]按钮

  VbAbort     3    [终止(A)]按扭

   VbRctry    4    [重试(R)]按钮

  Vblgnore    5    [忽略(1)]l按钮

  VbYes       6    [(Y)]按钮

  VbNo        7    [(N)]按钮

 

    在关闭应用程序时,系统常常会弹出一个消息框来提示用户是否真的要退出程序,如果户单击[]按钮,则程序退出,如果用户单击的是[]按钮,则程序不退出。这里,我们编写一个程序来模拟上述的情形。

      实例使用消息框2

    在窗体中放置一个按钮控件,设置其Caption属性的值为“退出”,并采 用系统默认的名称。双击按钮控件打开[代码]窗口,将下列代码添加到Commandl C1ick事件过程中;

Private Sub Command1_Click()
       Msg = MsgBox("是否真的退出程序", 36, "提示")
       If Msg = 6 Then End
     End Sub 

   在该段代码中,使用了一个If语句来判断用户的选择,如果用户选择了 []按钮,则执行End语句,否则不执行任何语句。运行该程序,单击窗体中的[退出]按钮,则弹出一个消息框询问用户是否退出程序,如图所示。单击[]按钮,则消息框消失,窗体并不退出。

再次运行该程序,单击[]按钮,则消息框消失,窗体也随着被关闭。

CommonDialog
公共对话框

 

我也会VB编程

我在这里学编程基础篇 共50页[1 2 3 4 5 6 7 >»<... 最后一页]