8.8通用对话框控件 Windows应用程序里的Open对话框,Save As对话框在各个应用程序里看起来都是一样的,通用对话框控件就可以提供这些对话框的标准功能。0 S" F7 E. G) Q7 W
1.Open对话框及Save As对话框
: e/ A1 [, W& `2 V 打开Open对话框使用ShowOpen方法,打开Save As对话框使用ShowSave方法。
: k8 g8 E2 ]7 P# F) B: f0 H4 c1 u Private Sub mnuOpen_Click ()
9 g! z' ?5 O- g On Error GoTo ErrorHandler
1 F9 w2 f& J4 \2 z+ q( r CommonDialog1.CancelError = True* I- v$ V: d$ e2 q9 s
CommonDialog1.Filter = "Text Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat|All Files (*.*)|*.*") d& s* H0 S: z. P! z9 g! A
CommonDialog1.ShowOpen ' 显示打开对话框
1 ^# {% }6 t1 N5 Z8 _* a Call OpenFile(CommonDialog1.FileName)
9 t; c' a% H4 ]5 w ErrorHandler:
/ B2 w; v0 g$ Q! T Exit Sub' p# Q4 h' K/ Z
End Sub" h C/ l3 y' L l
其中第三行决定了在文件格式类型栏里出现的文件类型。第五行需要一个自己的打开文件的过程,这个过程需要的参数就是通用对话框返回的文件名。通用对话框的CancelError属性设为True的话,用户单击Cancel按钮将产生一个错误信息程序,凭借这个信息程序可以检测到用户的放弃操作。, o Y3 O/ I+ w- ]! u8 z5 V
2.Color对话框 G0 W L& V1 V% n; Z6 H3 O# j: K
下面的过程可用用户选择的颜色作为窗体的底色。/ {' G6 Q% m" z' X8 E9 ^4 l N
Private Sub mnuColor_Click ()
/ k1 g3 P- a, z& w/ X; E6 I4 u On Error GoTo CancelButton
6 ~" ~: `& b/ N( z CommonDialog1.CancelError = True6 y/ V8 P' D* z' i$ {7 |) s
CommonDialog1.ShowColor8 b; i" c' {% ^) u
Form1.BackColor = CommonDialog1.Color
9 R6 g0 P. p$ b5 [. u9 @ CancelButton:/ E5 l! S8 p- D3 B; f
Exit Sub
0 n, O7 k9 F, p3 y/ s0 F) u End Sub
& W3 O! M4 |7 d. L# P8 V# i 3.Fonts对话框
8 L5 Q$ \. B3 N: U( ?! F; ? 下面的过程可用字体对话框改变文本框的字体:1 T+ l( c2 k/ Z7 O8 L
Private Sub mnuFonts_Click ()
5 x3 [4 }8 M4 P On Error GoTo CancelButton6 F( O6 y# w6 S3 l) T
CommonDialog1.CancelError = True8 c" K5 V0 c$ F' d
CommonDialog1.Flags = cdlCFBoth ' Flags property must be set to cdlCFBoth
N3 M) [1 Q# y1 q0 ]& F' M CommonDialog1.ShowFont ' Display Font common dialog box.3 W, V+ i) {9 W7 O
Text1.FontName = CommonDialog1.FontName
; O4 E- S; H$ `8 e, f Text1.FontSize = CommonDialog1.FontSize
1 }( Y1 B' c% @ Text1.FontBold = CommonDialog1.FontBold0 w) U- |' q: V/ [) ?# T8 d7 T
Text1.FontItalic = CommonDialog1.FontItalic5 ]# ]3 Q# Y/ p o! `. f
Text1.FontUnderline = CommonDialog1.FontUnderline
7 H5 u+ ?! T6 @" h8 b% C7 O# z1 D# U Text1.FontStrikethru = CommonDialog1.FontStrikethru
3 `& s- K/ X _& C4 ] i2 O: w Text1.ForeColor = CommonDialog1.Color
- O3 N/ R# F1 X6 ^ CancelButton:7 i: W/ N6 a# [% A' a+ O
Exit Sub
6 E7 e; H! ?: o/ F7 Y0 L' m$ t: ] End Sub9 n4 ]5 M' n: I# _$ R8 w
代码的第三行出现了通用对话框的Flags属性决定了通用对话框的一些可选项,不过即使不赋值给Flags,代码也一样会按缺省的情况去执行的。 |