第一个问题:
Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
这个事件是窗体自带的事件,鼠标在窗体上移动就会被触发。
事件中Button 是表示,移动鼠标时你按下了鼠标的哪个键
不按鼠标 Button =0
按鼠标左键 Button =1
按鼠标右键 Button =2
同时按下鼠标左右键 Button =3
当你不按鼠标并且鼠标在窗体上移动的时候,事件中参数Button的值是0
当你按住鼠标的左键并且鼠标在窗体上移动的时候,事件中参数Button的值是1
当你按住鼠标的右键并且鼠标在窗体上移动的时候,事件中参数Button的值是2
当你同时按住鼠标的左键和右键并且鼠标在窗体上移动的时候,事件中参数Button的值是3
给你解释一下 Button And 3=3 这个判断条件。 如下:
当and在两个数字中间时,and运算符就不是逻辑与运算符而是按位“与”运算符了,所以当同时按住鼠标的左键和右键Button=3时“Button And 3=3”换成二进制就是 0011与0011=0011 这时这个等式是成立的,窗体就上输出“AAAA"。(Button =0或者1或者2的时候 “Button And 3=3”这个条件都不成立所以窗体上不会打印任何东西) 故选 C、同时按下左、右键 是对的。
第二个问题:
Private Sub Form_KeyMove(KeyCode As Integer,Shift As Integer)这个事件不是窗体的事件,是自定义出来的事件。因此没有调用语句调用这个函数时,他是不会被触发的。你按鼠标什么键他也不会触发事件,总结一句话,没调用就不会执行代码,所以 选D、按什么键都不显示 是正确的。
补充说明一下:就算调用了这个函数,窗体也不会显示的。因为函数中没有对Button 赋值,所以Button 一直是空值 “Button And 3”的结果 会一直等于0 而不会等于3。 所以这个条件永远也不会成立。窗体也一样不会显示任何东西。
希望你能明白,要是明白了就请你给分吧。
神经病问题...
把问题补充清楚再来
你的问题呢