转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件使用 >> 常用软件 >> 正文
在VFP、VB应用程序中激活鼠标功能         

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:816 更新时间:2009/4/24 21:43:29
P>鼠标是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按下.

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()函数对换鼠标的左右键.

语法格式:

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.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环境下运行通过.


[办公软件]在sybase中插入图片、PDF、文本文件  [办公软件]安装Sybase ASE
[办公软件]linux指令大全(完整篇)  [办公软件]Linux新手入门常用命令大全
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法
[办公软件]Linux程序员必读:中文化与GB18030标准  [办公软件]linux指令大全
[办公软件]制作Linux启动盘的四种方法  [办公软件]Linux文件系统的反删除方法
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · 办公软件  · 系统软件
    · 常用软件  · 聊天工具
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台