第十二章 一、概述
V. U2 W6 Y8 X5 [/ r (一)对话框的分类与特点; C! p, d7 u% r6 Q3 A
1.对话框的分类7 V: C0 `+ j2 \* {% c0 p+ t6 z. T0 |
Visual Basic中的对话框分为3种类型,即预定义对话框、自定义对话框和通用对话框。
) S/ v8 h4 O3 i$ Q* F 2.对话框的特点
" e5 S* r2 S. j2 v# W4 l (1)在一般情况下,用户没有必要改变对话框的大小,因此其边框是固定的。7 k0 L4 ~8 M5 Q; s- X) t/ X1 ~
(2)为了退出对话框,必须单击其中的某个按钮,不能通过单击对话框外部的某个地方关闭对话框。
# i+ B4 W$ {& j9 S (3)在对话框中不能有最大化按钮(Max Button)和最小化按钮(Min Button),以免被意外地扩大或缩成图标。
4 Q* b! x1 {6 ~6 R {3 S: c (4)对话框中不是应用程序的主要工作区,只是临时使用,使用后就关闭。
0 X+ u. Y9 Z+ t: ?' q$ t2 t* t (5)对话框中控件的属性可以在设计阶段设置,但在有些情况下,必须在运行时(即在代码中)设置控件的属性,因为某些属性设置取决于程序中的条件判断。5 ~, F- D% m7 Y5 \- U
Visual Basic的预定义对话框体现了前面4个特点,在定义自己的对话框(见下一节)时,也必须考虑到上述特点。
0 p. {5 h# A# K* @0 J+ E (二)自定义对话框
5 a1 v7 s- O# |7 I- X* {# }# g+ g. ]- n 如前所述,预定义对话框(信息框和输入框)很容易建立,但在应用上有一定的限制。例如,对于信息框来说,只能显示简单的信息、一个图标和有限的几种命令按钮,程序设计人员不能改变命令按钮的说明文字,也不能接收用户输入的任何信息。用输入框可以接收输入的信息,但只限于使用一个输入区域,而且只能使用“确定焙汀叭∠绷街置畎磁ァ?br>如果需要比输入框或信息框功能更多的对话框,则只能由用户自己建立。; {6 h6 c4 X% S0 x$ ~. Z' m. K
(三)通用对话框控件
* Z* S V9 ^1 W# |; b+ F, o. ]7 F 用MsgBox和InputBox函数可以建立简单的对话框,即信息框和输入框。如果需要,也可以用上面介绍的方法,定义自己的对话框。当要定义的对话框较复杂时,将会花费较多的时间和精力。为此,Visual Basic6.0提供了通用对话框控件,用它可以定义较为复杂的对话框。
. b/ C: p, L1 ~+ `. @ 二、文件对话框- z# m X% ~2 z' `- {- b, [
文件对话框分为两种,即打开(Open)文件对话框和保存(Save As)文件对话框。
4 Q! M) U4 P4 _& | 三、其他对话框
: k$ S0 [6 Q0 U! X v( T 用通用对话框控件除了能建立文件对话框外,还可以建立其他一些对话框,包括颜色对话框、字体对话框和打印对话框等。
8 t' P1 e; @6 d- a8 a" e; C& [ (一)颜色(Color)对话框( C2 ?# |. V9 G' l' {% w) R& w
颜色对话框用来设置颜色。它具有与文件对话框相同的一些属性,包括CancelError、DiˉalogTitle、HelpCommand、HelpContext、HelpFile和HelpKey,此外还有两个属性,即Color属性和Flags属性。
7 L) g8 j1 r3 T7 E% S& F b* ]) [ (二)字体(Font)对话框
4 C+ A' }( |% |/ r# g& y# f 在Visual Basic中,字体通过Font对话框或字体属性设置。利用通用对话框控件,可以建立一个字体对话框,并可在该对话框中设置应用程序所需要的字体。字体对话框具有以下属性:7 h# d9 Z* L( @( M4 H! J; v- j+ T$ k
1.CancelError、DialogTitle、HelpCommand、HelpContext、HelpFile和HelpKey( N$ k3 d, A% A) `/ ^' z
2.Flags属性6 P& F( ~. Y9 g+ T7 @% y" v
3.FontBold、FontItalic、FontName、FontSize、FontStrikeThru和FontUnderline
) f; G; `7 o) ^, J 这些属性可以在对话框中选择,也可以通过程序代码赋值。+ ?$ `' U0 A0 l) z, R2 @2 F
4.Max和Min属性8 I- R, e% i* B- |
字体大小用点(一个点的高度是1/72英寸)量度。在默认情况下,字体大小的范围为1~2048个点,用Max和Min属性可以指定字体大小的范围。注意,在设置Max和Min属性之前,必须把Flags属性值设置为8192。# S, ]; r) a6 ?
(三)打印(Printer)对话框
9 T* a( \( F" H5 ~; S( } 用打印对话框可以选择要使用的打印机,并可为打印处理指定相应的选项,如打印范围、数量等。打印对话框除具有前面讲过的CancelFrror、DialogTitle、HelpCommand、HelpContext、HelpFile和HelpKey等属性外,还具有以下属性。
2 E: C# o4 y+ |" b6 V: K 1.Copies属性2 s# B/ E1 v! _' V$ J0 ^
指定要打印的文档的拷贝数。如果把Flags属性值设置为262144,则Copies属性值总为1。
$ F/ e1 L0 h* s2 d+ b. W M 2.Flags属性
0 w$ J0 V/ q( f: u h' b 3.FromPage和ToPage属性# ]! v% O; x) Q) m. q
指定要打印文档的页范围。如果要使用这两个属性,必须把Flags属性设置为2。
7 P# s) z& [+ u 4.hDC属性; I) x: ?1 x2 L* ]: P
分配给打印机的句柄,用来识别对象的设备环境,用于API调用。
: U7 ?$ i/ g! g7 w5 g4 [/ | 5.Max和Min属性
" F: k F$ {& o& j* y 用来限制FromPage和ToPage的范围,其中Min指定所允许的起始页码,Max指定所允许的最后页码。0 M! r. ?; w1 J0 a( ^6 M$ g0 {
6.PrinterDefault属性
! P& m; ~) Z3 v# r 该属性是一个布尔值,在默认情况下为True。当该属性值为True时,如果选择了不同的打印设置(如将Fax作为默认打印机等),Visual Basic将对Win.ini文件作相应的修改。如果把该属性设为False,则对打印设置的改变不会保存在Win.ini文件中,并且不会成为打印机的当前默认设置。
, ?' v" W- x6 C. l/ y* k. P0 H 打印对话框通过ShowPrint或Action属性(=5)建立。 |