第十章 一、KeyPress事件. e4 U0 X: i n( \1 R
在窗体上画一个控件(指前面所讲的可以发生KeyPress事件的控件),并双击该控件,进入程序代码窗口后,从“过程”框中选取KeyPress,即可定义KeyPress事件过程。一般格式为:
% R* ?/ {1 H4 B$ b' k. L2 |% t9 u Private Sub Text1 _ KeyPress(KeyAscii As Integer)+ O2 R( F' `* O
End Sub$ N5 `9 b9 l& I+ A2 e0 E
二、KeyDown和KeyUp事件8 a* y4 k, s! M* q
KeyDown和KeyUp事件的参数也有两种形式,其中
. ~# l5 z1 e% m Index As Integer
& m7 W! l6 R8 l. U: v9 X 只用于控件数组,而
$ X x) G% }8 G; s* I; o7 Q u KeyCode As Integer,Shift As Integer
$ G5 ]5 h6 e' f) O; r2 q3 `3 d 用于单个控件。+ {6 K# k/ d, i# L. l
三、鼠标事件
L4 M8 T, U- ~- {4 l 为了实现鼠标操作,Visual Basic提供了3个过程模板:
8 L2 l3 C1 A- ]7 T (一)压下鼠标键事件过程
2 }7 s% F/ e! J Sub Form_MouseDown(Button As Integer,Shift As Integer,x As Single,y As Single)End Sub
* v" }1 o9 y, E4 c8 E, O9 a6 p3 W (二)松开鼠标键事件过程1 w9 N+ c) {6 @/ {' v8 G; _
Sub Form_MouseUp(Button As Integer,Shift As Integer,x As Single,y As Single)End Sub" R3 u5 o- b R; i
(三)移动鼠标光标事件过程' |( [3 x4 F/ a5 b
Sub Form_MouseMove(Button As Integer,Shift As Integer,x As Single,y As Single)End Sub i4 T* k1 |- j4 H, j
四、鼠标光标的形状4 b- K/ ~) a6 o5 J- f. Y- V
(一)MousePointer属性 v; ?7 O# _& t6 h, g: x
鼠标光标的形状通过MousePointer属性来设置。该属性可以在属性窗口中设置,也可以在程序代码中设置。
, y$ M8 V$ x# m! e6 | MousePointer的属性是一个整数,可以取0~15。; M: V9 Q, ^$ \
(二)设置鼠标光标形状
% ^% g& G( U* @8 x' x MousePointer属性可以通过代码设置,也可以通过属性窗口设置。
h+ v9 O; _& [2 ? N; o1 ]9 Y 1.在程序代码中设置MousePointer属性
' J; _/ n( N0 [# S5 V* U 在程序代码中设置MousePointer属性的一般格式为:对象.MousePointer=设置值4 h' i! B; @' g, _" B3 i' b! E
2.在属性窗口中设置MousePointer属性
+ w- J, [9 ]' f1 ~ 单击属性窗口中的MousePointer属性条,然后单击设置框右端向下的箭头,将下拉显示MousePointer的15个属性值。2 N! C0 D2 u1 X( p' ^
3.自定义鼠标光标
% b; J; ?, @4 E8 M9 [+ W ^ 如果把MousePointer属性设置为99,则可通过MouseIcon属性定义自己的鼠标光标。有以下两种方法:0 Y' W! m9 ^8 w# J
(1)如果在属性窗口中定义,可首先选择所需要的对象,再把MousePointer属性设置为“99-Custom”,然后设置MouseIcon属性,把一个图标文件赋给该属性(与设置Picture属性的方法相同)。
8 X# i# b: L3 V8 ]# u# W2 I5 z (2)如果用程序代码设置,则可先把MousePointer属性设置为99,然后再用LoadPicture函数把一个图标文件赋给MouseIcon属性。3 y8 V, p+ F, z) N* Z
4.鼠标光标形状的使用+ o& I X# A+ ^
在Windows中,鼠标光标的应用有一些约定俗成的规则。为了与Windows环境相适应,在应用程序中应遵守这些规则,主要有:
! r( ` H# Z$ D (1)表示用户当前可用的功能,如“I”形鼠标光标(属性值3)表示插入文本;十字形状(属性值2)表示画线或圆,或者表示选择可视对象以进行复制或存取。* f/ ?8 a4 G" ^, T# @" I- o
(2)表示程序状态的用户可视线索,如沙漏鼠标(属性值11)表示程序忙,一段时间后将控制权交给用户。 y0 K" E0 S6 c! U* M* o
(3)当坐标(X,Y)值为0时,改变鼠标光标形状。
4 |& V+ ?4 @& Z8 p) r 五、拖放
1 b4 [# v3 P4 r6 _ (一)与拖放有关的属性、事件和方法' i- [$ P; C5 ]! q" `! D1 |
1.属性( V; b9 h4 Z1 r' e3 Z7 @; \
有两个属性与拖放有关,即DragMode和DragIcon6 i. ?+ C) [3 g
2.事件
3 B" I2 R0 X# Z: E* z% Q 与拖放有关的事件是DragDrop和DragOver。
4 C0 o D' q* }' n9 E+ q! F. {4 X7 j (二)自动拖放8 ]; A+ l$ ]. w ?
(三)手动拖放 |