2.1 VB用户界面设计基础
9 u9 R* w3 ?' R* s: g: K/ w 1. 概述3 m; U$ y+ X( `, R* g4 f5 k" N
界面的设计有两步:先绘制控件,然后确定控件属性。
! c( r7 ^0 i5 B/ R; n 绘制控件:在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后松开鼠标即可。确定属性:先选中控件,然后按F4键或单击工具栏上的属性窗口进入属性(Properties)窗口,再在属性窗口中找到要设置的属性并进行设置。5 T" l2 z' y2 `4 G. |- x `" h
2. 常用属性的设置
/ R5 a+ k1 X- u. @ (1)Name属性
f+ Y8 p, [3 P! F, X 对象都有名字,计算机把名字看成对象于对象之间的根本差异,因此在同一窗体里不许出现重名的情况(除非这是一个控件数组),且名字不得超过40个字。
u% f1 |) ?# d( w2 D) Q 在简单的程序里,给控件命名不是很必要,完全可以使用控件Name属性的缺省值。例如Text1。但在有几十个控件的复杂窗体里,就很难区分它们。所以,VB推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。例如cmdMyButton是一个命令按钮(前缀是cmd); _2 S) a$ S C7 q
(2)Caption属性
2 |, I3 ]$ d: w/ C& s' O8 o Caption即标题,是可以在对象外观上直接看见的文本,可以长达255字符,包括空格和标点符号,比如一个叫cmdOk的命令钮,它的Caption属性就可以是“Ok”。 注意:并不是所有的对象都有此属性,比如文本框、图片框、线条等就没有。
" l. S6 s3 g! h+ t% h% y" ?: L 为按钮设置热键:在设置Caption属性时,在需要加下划线的字母前加上 “&” 符号,例如 “&File”,输出的就是“File”,这样就可以通过按ALT键和标题上那个带下划线的字母来选取它了, 不必为此编任何代码。
, ^' C9 ^% M2 B Name和 caption的比较:5 W, u( a. a7 a* y8 `
1) Name是系统用来识别对象的,编程时需要用它来指代各对象;Caption是给用户看的,提示用户该对象的作用;' b2 u: g9 p/ B, n7 I3 `3 \
2) Name可以采用系统默认的名称,但Caption应该根据实际情况改成意义明了的名词; b. {4 Z8 g- e, w3 Y# C
3)所有对象都有Name,但不一定都有Caption;
' C' \3 U, m+ i; ~. Y (3)Top,Left属性
! `$ K3 e$ m( R8 E 这两个属性决定对象的位置。只有两种情况需要在属性窗口里设置这两个属性:第一种是用户没有鼠标,第二种是程序员需要十分精确地设定这两个值。当选中对象,单击并拖曳它的时候,便在修改这两个值了。
, L' {) R. t4 D: B" w8 q6 r (4)Height,Width属性
7 S3 E2 {0 Q8 c9 p1 q! |8 f6 T0 { 这两个属性决定了对象的大小,当选中控件时,它周围出现八个小黑方块,把鼠标指向这些方块,鼠标指针将变成一个双向的箭头,这时按下鼠标并拖曳它,即可改变控件的大小,也就改变了Height,Width属性。
2 p7 d( @1 `/ h( _3 ]/ I. I7 R 1. 窗体的属性
4 p7 a# y4 b6 ^- g. V; T! n (1)设置属性的方法4 m% I1 X" z$ V
1)在设计态通过属性窗口设置
5 R" R* n; E ?; E6 F8 ~/ S* v 直接在属性窗口中选择或输入既可。
( w4 C, b; r: m& {. A- N 2)在程序代码中改变属性值
* `5 ?) o" D5 v' u. m 代码中的格式为: 对象名 . 属性 = 属性值
! y5 N. y7 v5 R5 z 例:Form1.BackColor=RGB(255,0,0), \: j% K! x- X9 ?( w0 \; P9 X
2. 窗体的常用方法; P3 U) E. C3 y
(1)Hide方法( F+ V% r0 v) L: W
用以隐藏 MDIForm 或 Form 对象,但不能使其卸载。/ H2 z' M8 s7 j) T# @2 Y
语法:object.Hide( U! l# b0 q: n7 Y$ Q/ |
object 所在处代表一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的窗体就认为是该 object。) W7 C/ W: B" n% R& U1 r# O
说明:
8 x c$ Y( c% p9 ^ 隐藏窗体时,它就从屏幕上被删除,并将其 Visible 属性设置为 False。 用户将无法访问隐藏窗体上的控件,但是对于运行中的 Visual Basic 应用程序,或对于通过 DDE 与该应用程序通讯的进程及对于 Timer 控件的事件,隐藏窗体的控件仍然是可用的。
; J2 v! B- u( z 窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。
6 U5 w' {, Z/ [) _& } 如果调用 Hide 方法时窗体还没有加载,那么 Hide 方法将加载该窗体但不显示它。
5 G! \( c' i# X" F7 Y6 c [( N (2)Move方法
/ f3 Q$ J4 D( n' [' z. x2 Z 用以移动 MDIForm、Form 或控件。2 _* M& N) M8 T2 x0 C2 B: u
语法:object . Move left, top, width, height+ \3 z8 w3 A, `1 [
说明:只有 left 参数是必须的。但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。例如,如果不先指定 left 和 top 参数,则无法指定 width 参数。任何没有指定的尾部的参数则保持不变。8 P7 J4 H1 F7 i. ^: M9 `
(3)Print 方法
" J0 Y" P4 F0 Q5 \ 在 Immediate 窗口中显示文本。
4 \! b: t' T* ^# o/ T) j# a 语法:object . Print [outputlist]
5 W4 j' F4 x1 y, l, D! b0 O2 K Print 方法的语法具有下列对象限定符和部分:3 T& a) F/ L# g1 g$ b' ^. a
outputlist 参数具有以下语法和部分:
1 q4 _% |6 L m {Spc(n) | Tab(n)} expression charpos0 ]) G7 @: ^4 Z- i+ @
说明:
3 P3 a% w4 D6 l% V/ M2 E 可以用空白或分号来分隔多个表达式。
6 L! [. Q2 ^7 y3 x8 H9 M1 R 对系统指定的国别设置,用小数点分隔符将所有打印到 Immediate 视窗的数据正确格式化。关键字要用适用于主应用程序的语言输出。
3 D5 W4 P5 y+ R- d1 a, f 对于 Boolean 数据,或者打印 True 或者打印 False。根据主机应用程序的地区设置来翻译 True 和 False 关键字。) h" _6 r+ p6 X" n# E" _& F
使用系统能识别的标准短日期格式书写 Date 数据。当日期或时间部件丢失或为零时,只书写已提供的部件。
. [9 a: _: |% M) J" m9 h8 E 如果 outputlist 数据是 Empty,则无内容可写。但是,如果 outputlist 数据是 Null,则输出 Null。在输出 Null 关键字时,要把关键字正确翻译出来。
, H/ P1 G) P" c9 |7 h6 h/ ^2 L 要把错误数据作为 Error errorcode 输出。在输出 Error 关键字时,要把关键字正确翻译出来。
% _: B; _$ c5 q0 @% z, ~7 V1 f7 A6 g, G. ?1 C
如果在具有缺省显示空间的模块外使用此方法,则需要 object。例如,如果没有指定对象就在标准模块上调用此方法,则将导致错误发生,但是,如果在窗体模块上进行调用,则会在窗体上显示“outputlist”。 |