VB中的Sub Main过程 |
来源:中国自学编程网@H_403_37@ 发布日期:2007-11-14 |
如果一应用程序只包含1个窗体,则程序从执行窗体For-m的I,oad过程开始。如果有多个窗体,则从设计阶段建立的第1个窗体开始执行。有时,希望在运行窗体程序之前先执行一些操作,此时可以将这些操作写在SubMain过程中。 |
lblVersion.Caption = "版本 " & App.Major & "." & App.Minor & "." & App.Revision
lblProductName.Caption = App.Title
lblVersion
lblProductName 两个label控件名
.caption 是定义他们显示的内容
App.Major 文件主版本
App.Minor 文件次版本
App.Revision 文件版本修正
App.Title 文件应用程序标题
& 是连连接符 直接把文本串联起来
app属性常用到的还有
app.path 文件所在路径
模式与无模式的对话框
对话框不是模式就是无模式的。模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载)。例如,如果一个对话框,在可以切换到其它窗体或对话框之前要求先单击“确定”或“取消”,则它就是模式的。
Visual Basic 中的“关于”对话框是模式的。显示重要消息的对话框总应当是模式的-那就是说,在继续做下去之前,总是要求用户应当先关上对话框或者对它的消息作出响应。
无模式的对话框允许在对话框与其他窗体之间转移焦点而不用关闭对话框。当对话框正在显示时,可以在当前应用程序的其他地方继续工作。无模式对话框很少使用。Visual Basic 中“编辑”菜单中的“查找”对话框就是一个无模式对话框的实例。无模式对话框用于显示频繁使用的命令与信息。
要将窗体作为模式对话框显示,请
使用 Show 方法,其 style 参数值为 vbModal(一个值为 1 的常数)。
例如:
'将 frmAbout 作为模式对话框显示。
frmAbout.Show vbModal
要将窗体作为无模式对话框显示,请
使用不带 style 参数的 Show方法。
例如:
'将 frmAbout 作为无模式对话框显示。
frmAbout.Show
注意 如果窗体显示为模式对话框,则只有当对话框关闭之后,在 Show 方法后的代码才能执行。然而,当窗体被显示为无模式对话框时,在该窗体显示出来以后,Show 方法后面的代码紧接着就会执行。
Show 方法另有一个可选参数,owner,可用来指定窗体的父子关系。可将某个窗体名传给这个参数,使得这个窗体成为新窗体的拥有者。
要显示一个窗体,作为另一个窗体的子窗体,请
这里 Show 方法有两个参数:style 和 owner。
例如:
' 将 frmAbout 显示为 frmMain 的无模式子窗体。
frmAbout.Show vbModeless,frmMain
在 Show 方法中使用 owner 参数,确保对话框在它的父窗体最小化时它也最小化,或者在其父窗体关闭时它也卸载。
CommonDialog 控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等操作的一组标准对话框。运行 Windows 帮助引擎时,控件还能够显示帮助。
CommonDialog 控件在 Visual Basic 和 Microsoft Windows 动态连接库Commdlg.dll 例程之间提供了接口。为了用该控件创建对话框,必须要求Commdlg.dll 在 Microsoft Windows /System 目录下。
为了在应用程序中使用 CommonDialog 控件,应将其添加到窗体上并设置属性。控件显示的对话由控件的方法决定。运行时,调用相应方法后将显示对话框或执行帮助引擎;设计时在窗体上将 CommonDialog 控件显示成一个图标。此图标的大小不能改变。
CommonDialog 控件可以显示如下常用对话框:
“打开”
“另存为”
“颜色”
“字体”
“打印”
要使用 CommonDialog 控件
1. 若未添加 CommonDialog 控件,则应从“工程”菜单中选定“部件”,将控件添加到工具箱中。在标记对话的“控件”中找到并选定控件,然后单击“确定”按钮。
2. 单击工具箱中的“CommonDialog”控件并在窗体上绘制该控件。在窗体上绘制 CommonDialog 控件时,控件将自动调整大小。象 Timer控件一样,CommonDialog 控件在运行时不可见。
3. 运行时,请适当使用下表所列方法显示需要的对话。
显示“打开”和“另存为”对话框
有了“打开”对话框就可指定驱动器、目录、文件扩展名和文件名。“另存为”对话框在外观上与“打开”对话框相同,只是对话框的标题和文件名是暗淡的。运行时选定文件并关闭对话框后,可用 FileName 属性获取选定的文件名。
要显示“打开”对话框
1. 指定在“文件类型”列表框中显示的文件过滤器列表。
可用下列格式设置 Filter 属性:
description1 | filter1 | description2 | filter2...
Description 是列表框中显示的字符串——例如,"Text Files (*.txt)"。Filter 是实际的文件过滤器——例如,"*.txt"。每个description | filter 设置间必须用管道符号分隔 (|)。
2. 用 ShowOpen 方法显示对话框。
选定文件后可用 FileName 属性获取选定文件的名称。
对所有公共对话框,当 CancelError 属性为 True,而且用户单击了对话框的“取消”按钮时将生成一个错误。在显示对话框时捕获错误,以此检测是否按了“取消”按钮。
下列代码显示“打开”对话框并以选定的文件名为打开文件过程的参数:
Private Sub mnuFileOpen_Click ()
'CancelError 为 True。
On Error GoTo ErrHandler
'设置过滤器。
CommonDialog1.Filter = "All Files (*.*)|*.*|Text _
Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat"
'指定缺省过滤器。
CommonDialog1.FilterIndex = 2
'显示“打开”对话框。
CommonDialog1.ShowOpen
'调用打开文件的过程。
OpenFile (CommonDialog1.FileName)
Exit Sub
ErrHandler:
'用户按“取消”按钮。
Exit Sub
End Sub
使用“颜色”对话框
可用“颜色”对话框在调色板中选择颜色,或者创建并选定自定义颜色。运行时,选定颜色并关闭对话框后可用 Color 属性获取选定的颜色。
要显示“颜色”对话框
1. 将CommonDialog控件的Flags属性设置成Visual Basic常数cdlCCRGBInit。
2. 用 ShowColor 方法显示对话框。
可用 Color 属性获取选定颜色的 RGB 值。单击“Command1”命令按钮时,下列代码将显示“颜色”对话框:
Private Sub Command1_Click ()
'将 Cancel 设置成 True。
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
'设置 Flags 属性。
CommonDialog1.Flags = cdlCCRGBInit
'显示“颜色”对话框。
CommonDialog1.ShowColor
'将窗体的背景颜色设置成选定的'颜色。
Form1.BackColor = CommonDialog1.Color
Exit Sub
ErrHandler:
'用户按了“取消”按钮。
Exit Sub
End Sub
使用“字体”对话框
“字体”对话框根据大小、颜色、样式选择字体。用户一旦在“字体”对话框中选定字体后,下列属性就会包含有关用户选项的信息。
要显示“字体”对话框
1. 将 Flags 属性设置为下述 Visual Basic 常数之一:
cdlCFScreenFonts(屏幕字体)
cdlCFPrinterFonts(打印机字体)
cdlCFBoth(既可以是屏幕字体又可以是打印机字体)
警告 在显示“字体”对话框之前必须将 Flags 属性设置为这些数值之一,否则将发生字体不存在错误。
2. 用 ShowFont 方法显示对话框。
下列代码根据用户在“字体”对话框中的选择来设置文本框的字体属性:
Private Sub Command1_Click ()
'将 Cancel 设置成 True。
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
'设置 Flags 属性。
CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects
'显示“字体”对话框。
CommonDialog1.ShowFont
'根据用户的选择来设置文本属性。
Text1.Font.Name = CommonDialog1.FontName
Text1.Font.Size = CommonDialog1.FontSize
Text1.Font.Bold = CommonDialog1.FontBold
Text1.Font.Italic = CommonDialog1.FontItalic
Text1.Font.Underline = CommonDialog1.FontUnderline
Text1.FontStrikethru = CommonDialog1.FontStrikethru
Text1.ForeColor = CommonDialog1.Color
Exit Sub
ErrHandler:
'用户按了“取消”按钮。
Exit Sub
End Sub