VB中鼠标冲突问题

2008-04-09 04:41:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  VB中几乎所有的控件都有DragMode属性,该属性确定该控件能否用鼠标拖动。DragMode属性的设置包括如下:

  0-Manual 拖动操作必须在程序中启动

  1-Automatic 用户可以用鼠标拖动控件

  当将该控件的DragMode属性被设为Automatic时,他就不再响应通常的鼠标事件,只能进行拖动。如果控件是个标题框,则不必担心编辑问题,将DragMode设置为Automatic不会有什么大问题,但如果需要标题栏的Click事件,则不能将DragMode的属性值设为Automatic。更糟的是,如果窗体上加入一个文本框控件,将其属性设置为Automatic,然后运行,这时虽然能通过键盘向控件中输入文本并移动此控件,但鼠标的编辑操作的功能就消失了。

  为解决此冲突,可以用手动实现拖动特性,调用控件的Drag方法。

  调用控件的Drag方法等于将控件的DragMode属性设置为0-Manual,但控件也可以被拖动。

  什么时候可以调用控件的Drag方法呢?首先,要确定应用程序如何区分普通鼠标编辑操作和拖动操作。可靠的方法是:用Ctrl或Alt键与鼠标组合操作来拖动控件,所有鼠标功能和平常一样用,但如果按住Ctrl键再按鼠标键,则程序启动拖动操作,调用控件的Drag方法。

  下面我们通过一个例子来更加清楚的理解和使用Drag方法:

  两个文本框的DragMode属性分别设为Automatic和Manual。如图:
        

  标题框控件的DragDrop事件代码为:

Private Sub Label1_DragDrop(Source As Control, X As Single, Y As Single)

  Label1.Caption = Source.Name & " was dropped "

End Sub

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:利用Delphi扩充VB函数

下一篇:用VB6分离出文本框的单词

热门词条
热门标签