在VFP、VB应用程序中激活鼠标功能

妨碍小姨子

妨碍小姨子

2016-02-19 14:55

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的在VFP、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参数用来指示SHIFT,CTRL和ALT三个键的状态.参数值含义如下:

  001:SHIFT按下. 010:CTRL按下.

  110:CTRL和ALT按下. 011:SHIFT和CTRL按下.

  100:ALT按下. 101:SHIFT和ALT按下.

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  111:SHIFT,CTRL和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()函数对换鼠标的左右键.

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  语法格式:

  Private Declare Function SwapMouseButton Lib "USER32" Alias "SwapMouseButtonA" (ByVal BSWAP As Integer) As Integer

  参数BSWAP含义:如为TRUE,则左按钮产生右按钮的鼠标消息,右按钮产生左按

  钮的鼠标消息.如为FALSE,则正常解释鼠标按钮的输入.

  返回值含义:如为TRUE,说明鼠标的左右按钮功能已经对调.如为FLASE,说明鼠

  标按钮功能恢复原状态.

──────────? ───────────────────────────         

  二.VISUAL FOXPRO应用实例:

实例一:利用鼠标事件在窗体上画圆。

  当鼠标左键按下时可以作图,而当鼠标左键释放时,则无法作图;而当鼠标移动时,

  则画出图来。把鼠标左键按下与否作为作图的开关,鼠标移动就连续画图,本例是

  连续画出圆来。

  在窗体FORM1建立如下事件:

  Form1LPARAMETERS nButton, nShift, nXCoord, nYCoord

  Form1.Init事件,建立一个全局变量mark,用于是否画图的开关变量,

  当mark为真时,可以作图,否则不能作图。

  public mark

  thisform.scalemode=3

  thisform.drawwidth=2

  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 bittest(nbutton,0)

  thisform.circle(20,nxcoord,nycoord)

  endi

实例二:利用鼠标事件切换图标按钮中的图标。

  COMMAND1控件的PICTURE属性是C:B.BMP

  Form1.load事件,定义开关变量mouse_down。

  public mouse_down

  mouse_down=0

  Form1.MouseDown事件,显示鼠标按下时的图标。

  LPARAMETERS nButton, nShift, nXCoord, nYCoord

  THISFORM.COMMAND1.PICTURE="C:A.BMP"

  mouse_down=1

  Form1.MouseUp 事件,显示鼠标松开时的图标。

  LPARAMETERS nButton, nShift, nXCoord, nYCoord

  THISFORM.COMMAND1.PICTURE="C:B.bmp"

  Form1.MouseMove事件,判别鼠标是否离开图形按钮,若离开,则显示松开时的图标。

  LPARAMETERS nButton, nShift, nXCoord, nYCoord

  if mouse_down=1

  if (nXCoord$#@60;0.or. nXCoord$#@62;thisform.command1.width) .or. (nYCoord$#@60;0 .or. nYCoord$#@62;thisform.command1.height)

  THISFORM.COMMAND1.PICTURE="C:B.BMP"

  endi

  endi

  三.VISUAL BASIC应用实例:

  实例一:给应用程序的命令按钮加上提示行.

  实现效果:用过WINDOWS OFFICE软件的用户,都非常熟悉这种情况,当你自己不

  清楚软件中所列出的图标按钮起什么作用时, 可以把鼠标移到这个

  图标按钮上,不一会儿在这图标按钮的下方会显示一个简短的文字提

  示行,说明这个图标按钮的作用;当把鼠标从这个按钮上移开后,提示

  行立刻消失.

  实现方法:

  (1)建立含有如下控件的窗体:

  控件 NAME CAPTION VISIBLE

  窗体 BOTTON_DEMO 实例一:给应用程序的命令按钮加上提示行程序窗口

  命令按钮 COMMAND1 TRUE

  标签 LABEL1 FALSE 显示图标按钮作用的文字

  (2)双击窗体,进入窗体装入事件代码窗口:

  Private Sub Form_Load ( )

  COMMAND1.Picture = LoadPicture("C:README.ICO") 装入图片

  End Sub

  (3)当鼠标移到按钮上方时,激活标签显示该图标按钮作用的文字.

  双击图标按钮,进入命令按钮MOUSEMOVE事件代码窗口:

  Private Sub Command1_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

  LABEL1.BorderStyle = 1

  LABEL1.BACKCOLOR =&H0000FFFF& 显示文字的标签框底色为黄色

  LABEL1.Visible = True

  LABEL1.CAPTION = "演 示"

  End Sub

  (4)当鼠标从按钮上移开后,提示行文字立即消失.

  双击窗体,进入窗体MOUSEMOVE事件代码窗口:

  Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)

  LABEL1.Visible = False

  End Sub

  实例二:互换鼠标的左右按钮.

  实现效果:当你的鼠标左键或右键不好时,通过调用WINDOWS API的SwapMouseButton()

  函数,实现鼠标的左右键互换.

  实现方法:

  (1)建立含有如下控件的窗体:

  控件

  NAME

  CAPTION

窗体

  SWAP_BUTT

  实例二:鼠标的左右按钮互换 程序窗口

命令按钮

  COMMAND1

鼠标的左右键互换命令按钮

  COMMAND2

恢复原状态命令按钮

  COMMAND3

退出命令按钮

  COMMAND4

清除标志标签

  LABEL1

  按下左按钮:( )

标签

  LABEL2

  按下右按钮:( )

标签

  LABEL3

  空 显示按下标志

标签

  LABEL4

  (2)在目标文件列表(OBJECT)中选择GENERAL,在过程列表(PROC)中选择DECLARATIONS

  (声明),系统进入窗体级代码的定义窗口中.输入如下定义:

  Private Declare Function SwapMouseButton Lib "USER32" Alias "SwapMouseButtonA" (ByVal BSWAP As Integer) As Integer

  (3)双击窗体,进入MOUSEUP事件代码窗口:

  Private Sub Form_MouseUp (BUTTON As Integer, Shift As Integer, X As Single, Y As Single)

  If BUTTON And &H111 Then

  LABEL3.Caption = "√"

  Else

  LABEL4.Caption = "√"

  End If

  End Sub

  (4)双击命令按钮1,进入命令按钮单击事件代码窗口:

  Private Sub Command1_Click ()

  Dim SWAP_BUTT As Integer

  SWAP_BUTT = SWAPMOUSEBUTTON(-1) 互换鼠标的左右键

  End Sub

  (5)双击命令按钮2,进入命令按钮单击事件代码窗口:

  Private Sub Command2_Click ()

  Dim SWAP_BUTT As Integer

  SWAP_BUTT = SWAPMOUSEBUTTON(0) 恢复鼠标的原状态

  End Sub

  (6)双击命令按钮3,进入命令按钮单击事件代码窗口:

  Private Sub Command4_Click ()

  LABEL3.Caption = " "

  LABEL4.Caption = " "

  End Sub

  (7)双击退出按钮,进入命令按钮单击事件代码窗口:

  Private Sub Command3_Click ()

  End

  End Sub

  以上程序在WINDOWS98,VISUAL FOXPRO 6.0,VISUAL BASIC 6.0环境下运行通过.

展开更多 50%)
分享

猜你喜欢

在VFP、VB应用程序中激活鼠标功能

编程语言 网络编程
在VFP、VB应用程序中激活鼠标功能

让VB应用程序支持鼠标滚轮

编程语言 网络编程
让VB应用程序支持鼠标滚轮

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在VB应用程序中恰当的使用声音

编程语言 网络编程
在VB应用程序中恰当的使用声音

在VB中操纵OLE服务器应用程序

编程语言 网络编程
在VB中操纵OLE服务器应用程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

怎样用VB在应用程序中调用API

编程语言 网络编程
怎样用VB在应用程序中调用API

在VB应用程序中控制Win95的启动

编程语言 网络编程
在VB应用程序中控制Win95的启动

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PowerPoint2010中拼写检查的使用

PowerPoint2010中拼写检查的使用

在VB.NET中使用新的控件labellink访问网页

在VB.NET中使用新的控件labellink访问网页
下拉加载更多内容 ↓