【VB开源代码栏目提醒】:网学会员鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“在VB应用程序中激活鼠标功能 - 计算机教材”一文,供大家参考学习
鼠标是WINDOWS环境下不可缺少的输入工具在应用程序中灵活地使用鼠标功能会给
工作带来极大的方便.VISUAL FOXPRO6.0和VISUAL BASIC6.0是MICROSOFT VISUAL STUDIO98面向对象的可视化开发环境它功能非常强大而且
设计程序简单实用.它提供了与鼠标操作有关的事件和API函数所以编写鼠标功能程序就变得非常简单只需在程序中调用这些事件和API函数即可. 一.与鼠标有关的事件和WINDOWS API函数: 1.MOUSEDOWN 按下鼠标事件. 当用户按下鼠标上的任一按钮时就会引发该事件. 调用格式: Private Sub Form_MouseDown Button As Integer Shift As Integer X As Single Y As Single ①BUTTON参数是用来指示鼠标按钮的状态.它用二进制来表示.参数值含义如下: 001:左按钮按下. 010:右按钮按下. 011:左右按钮都按下. 000:都没按下. 100:中间按钮按下. 111:三个按钮都按下. ②SHIFT参数用来指示SHIFTCTRL和ALT三个键的状态.参数值含义如下: 001:SHIFT按下. 010:CTRL按下. 110:CTRL和ALT按下. 011:SHIFT和CTRL按下. 100:ALT按下. 101:SHIFT和ALT按下. 111:SHIFTCTRL和ALT都按下. ③参数X和Y指示鼠标在对象上按下时的位置. 2.MOUSEUP 释放鼠标事件. 当用户松开鼠标按钮时就会引发该事件. 调用格式:参数含义与MOUSEDOWN过程相同. Private Sub Form_MouseUp Button As Integer Shift As Integer X As Single Y As Single 3.MOUSEMOVE 移动鼠标事件. 当用户将鼠标移到新位置时就会引发该事件. 调用格式:参数含义与MOUSEDOWN过程相同. Private Sub Form_MouseMove Button As Integer Shift As Integer X As Single Y As Single 4.WINDOWS API的SwapMouseButton函数对换鼠标的左右键. 语法格式: Private Declare Function SwapMouseButton Lib USER32 Alias SwapMouseButtonA ByVal BSWAP As Integer As Integer 参数BSWAP含义:如为TRUE则左按钮产生右按钮的鼠标消息右按钮产生左按 钮的鼠标消息.如为FALSE则正常解释鼠标按钮的输入. 返回值含义:如为TRUE说明鼠标的左右按钮功能已经对调.如为FLASE说明鼠 标按钮功能恢复原状态. —————————— ———————————————————ぉぉぉぉぉぉぉぁ 二.VISUAL FOXPRO应用实例: 实例一:利用鼠标事件在窗体上画圆。
当鼠标左键按下时可以作图,而当鼠标左键释放时,则无法作图;而当鼠标移动时, 则画出图来。
把鼠标左键按下与否作为作图的开关,鼠标移动就连续画图,本例是 连续画出圆来。
效果如图1。
图1 在窗体FORM1建立如下事件: Form1LPARAMETERS nButton nShift nXCoord nYCoord Form1.Init事件,建立一个全局变量mark,用于是否画图的开关变量, 当mark为真时,可以作图,否则不能作图。
public mark thisform.scalemode3 thisform.drawwidth2 Form1.MouseDown事件,将mark设置为真,表示可以画图。
LPARAMETERS nButton nShift nXCoord nYCoord mark.t. Form1.MouseUp事件,将mark设置为假,表示不能画图。
LPARAMETERS nButton nShift nXCoord nYCoord mark.f. Form1.MouseMove事件,移动鼠标连续画圆。
LPARAMETERS nButton nShift nXCoord nYCoord if mark and bittestnbutton0 thisform.circle20nxcoordnycoord endi 实例二:利用鼠标事件切换图标按钮中的图标。
COMMAND1控件的PICTURE属性是C:B.BMP Form1.load事件,定义开关变量mouse_down。
public mouse_down mouse_down0 Form1.MouseDown事件,显示鼠标按下时的图标。
LPARAMETERS nButton nShift nXCoord nYCoord THISFORM.COMMAND1.PICTUREC:A.BMP mouse_down1 Form1.MouseUp 事件,显示鼠标松开时的图标。
LPARAMETERS nButton nShift nXCoord nYCoord THISFORM.COMMAND1.PICTUREC:B.bmp Form1.MouseMove事件,判别鼠标是否离开图形按钮,若离开,则显示松开时的图标。
LPARAMETERS nButton nShift nXCoord nYCoord if mouse_down1 if nXCoord600.or. nXCoord62thisform.command1.width .or. nYCoord600 .or. nYCoord62thisform.command1.height THISFORM.COMMAND1.PICTUREC:B.BMP endi endi 三.VISUAL BASIC应用实例: 实例一:给应用
程序的命令按钮加上提示行. 实现效果:用过WINDOWS OFFICE软件的用户都非常熟悉这种情况当你自己不 清楚
软件中所列出的图标按钮起什么作用时 可以把鼠标移到这个 图标按钮上不一会儿在这图标按钮的下方会显示一个简短的文字提 示行说明这个图标按钮的作用当把鼠标从这个按钮上移开后提示 行立刻消失. 实现方法: 1建立含有如下控件的窗体: 控件 NAME CAPTION VISIBLE 窗体 BOTTON_DEMO 实例一:给应用程序的命令按钮加上提示行程序窗口 命令按钮 COMMAND1 TRUE 标签 LABEL1 FA