8.8通用对话框控件2 |, }" j( X/ B Z3 j$ p& [8 l! a% e
Windows应用程序里的Open对话框,Save As对话框在各个应用程序里看起来都是一样的,通用对话框控件就可以提供这些对话框的标准功能。# w B" o2 s( O5 j& [
1.Open对话框及Save As对话框( M) S9 R9 ]4 `" B% E& l
打开Open对话框使用ShowOpen方法,打开Save As对话框使用ShowSave方法。, X4 z' ^; p2 t! G+ O6 l9 G: m
Private Sub mnuOpen_Click ()
# U! y) Q( W* _: z& `, ~: [& I On Error GoTo ErrorHandler3 _* G L A% M2 u
CommonDialog1.CancelError = True
1 H8 n/ f# S3 ~0 B) L8 e! ] CommonDialog1.Filter = "Text Files (*.txt)|*.txt|Batch Files (*.bat)|*.bat|All Files (*.*)|*.*"# E! t- d: k0 `
CommonDialog1.ShowOpen ' 显示打开对话框! q. b( v; u! T3 ^; j7 [' l9 m
Call OpenFile(CommonDialog1.FileName)
1 N- y! b# A% T1 ` ErrorHandler:
8 H, h: Z0 D& B( }8 z) J. t0 |- T Exit Sub
; a5 H1 a6 i2 J G j2 C1 f End Sub' b* F( c/ t* Q; C
其中第三行决定了在文件格式类型栏里出现的文件类型。第五行需要一个自己的打开文件的过程,这个过程需要的参数就是通用对话框返回的文件名。通用对话框的CancelError属性设为True的话,用户单击Cancel按钮将产生一个错误信息程序,凭借这个信息程序可以检测到用户的放弃操作。
( i9 n( E( } |: F0 G( w2 j# E 2.Color对话框$ ]' z, d4 W1 k; W+ {
下面的过程可用用户选择的颜色作为窗体的底色。( N0 d5 o; i9 C& h
Private Sub mnuColor_Click ()
# m; H7 b5 h7 t" v# c1 \4 H# }+ `4 q On Error GoTo CancelButton6 _5 s/ F4 T) V* c
CommonDialog1.CancelError = True/ m- d6 O: W$ a$ D
CommonDialog1.ShowColor. P, N( C2 N+ M4 x
Form1.BackColor = CommonDialog1.Color+ u, E: _( a! g7 r
CancelButton:0 E8 o+ U$ T6 o& ]3 g
Exit Sub
3 _' m# x/ D- P4 j& x4 { End Sub7 Q p) q7 _1 e6 x& p
3.Fonts对话框
# {) @# q) t7 k) S- g& q% L 下面的过程可用字体对话框改变文本框的字体:4 A% D2 x) v9 b, T: ]% ^* D
Private Sub mnuFonts_Click ()
7 j8 u' c. F: e4 T; p9 q7 u On Error GoTo CancelButton
( H* w+ ]6 a% U7 V1 _ CommonDialog1.CancelError = True6 ?. K+ G/ g7 z" F
CommonDialog1.Flags = cdlCFBoth ' Flags property must be set to cdlCFBoth. w( n6 L$ I9 ]4 |
CommonDialog1.ShowFont ' Display Font common dialog box.
6 m5 A5 o- W- A, k Text1.FontName = CommonDialog1.FontName
( F2 v) ~: q5 q1 ~& w Text1.FontSize = CommonDialog1.FontSize+ S j9 t$ v9 ~) y
Text1.FontBold = CommonDialog1.FontBold. ^9 E2 w6 T: N) W
Text1.FontItalic = CommonDialog1.FontItalic; [- K6 i0 x: _6 q3 _0 z
Text1.FontUnderline = CommonDialog1.FontUnderline
9 f; k; H D1 S# |9 c' c# n Text1.FontStrikethru = CommonDialog1.FontStrikethru7 }0 X; j0 a/ ]
Text1.ForeColor = CommonDialog1.Color
* [* Q7 S5 g }3 f, o& D% ]3 I5 [- v CancelButton:
! b% j% F {% i5 P Exit Sub( y$ u1 I& e' E( Q7 A; a
End Sub
9 b3 K2 `6 V4 O 代码的第三行出现了通用对话框的Flags属性决定了通用对话框的一些可选项,不过即使不赋值给Flags,代码也一样会按缺省的情况去执行的。 |