当前位置: 网学 > 编程文档 > VB > 正文

在VB5.0下有效控制鼠标的输入焦点

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
焦点的有效捕捉客户区域。当鼠标指针移出当前客户区域,应恢复原来的客户区域状态和原来的鼠标光标指针,并清除动态提示窗口。当点击鼠标某个按键后,可通过MouseDown( )函数和设置的当前有效命令区域变量执行相应的功能。
  在鼠标移动函数中判断光标指针落入客户区域方法:  Private Sub Frame1-MouseMove(Button As Integer,
    Shift As Integer, X As Single, Y As Single)
    Dim CurHot As Integer
    Dim i As Integer
    For i = 1 To n ;依次判断n个命令区
    If X>RectHots(i).LeftX And X<RectHots(i).RightX
    And Y>RectHots(i).TopY And Y<RectHots(i).BottomY Then
    CurHot = True ;鼠标指针落入命令区域
    Exit For
  End If
  Next i
             鼠标输入焦点的相关提示功能
  当前有效的鼠标输入焦点相关提示功能,可根据应用程序的实际需要,选择其中的一种或几种。各种相关提示功能的实现方法如下:
  1. 鼠标光标形状变化 可通过设置用户自定义鼠标光标形状的方法来实现,恢复时只需将其类型设置为默认值。
  控件名.MousePointer = 99 ;99为自定义型光标形状
  控件名.MouseIcon = LoadPicture(″C:\WINDOWS\CURSORS\HAND-RL.CUR″);光标资源文件
  恢复时只需将MousePointer设置为0即可恢复默认值。
  2. 动态提示功能 通过设置标签控件及窗口背景色来实现,默认状态为不显示,在需要动态提示窗口时,重新设置其LEFT和TOP位置参数及其Caption属性的内容并置Visible属性为True(可见),取消时只需将标签的属性Visible设置为False即可。
  动态提示窗口设置:
    Label1.Left = RectHots(i).LeftX
    Label1.Top = RectHots(i).TopY
    Label1.Caption = RectHots(i).Mess
    Label1.Visible = True
  动态提示窗口取消:
    Label1.Caption = ″″
    Label1.Visible = False
  3. 改变颜色 只需变换当前客户区域控件的背景颜色值,恢复时只需将其设置成默认值即可。
  颜色状态设置:控件.BackColor=&H00000018&
  颜色状态恢复:控件.BackColor=&H00000001&
  4. 改变命令区凸凹状态 如果命令区域为按钮格式,可通过绘图函数的异或(XOR)属性改变按钮的状态来实现相应的提示功能,鼠标移动出客户区域后再恢复其原来状态。
  5. 通过使能属性进行提示 可通过某些控件的Enable属性来控制客户区域的有效状态。
  设置方法:控件.Enable=True
  取消恢复:控件.Enable=False
  6. 其他提示方法 此外还可以通过设置某些控件的其他属性如控件边框的粗细等方法来实现有效区域的提示。
              鼠标输入焦点的相关执行功能
  当点击鼠标某个按键(左键或右键或双击操作)后,通过MouseDown( )函数和设置的当前有效命令区域变量的内容,来确定命令区域应该执行什么样的相应功能。如显示对话框窗口信息的简单方法如下:
  Private Sub Framel_MouseDown(Button As Integer,
  Shift As Integer, X As Single, Y As Single)
  If CurRect < > 0 Then
  MsgBox RectHots(i).DoMess, 0, ″″
  End If
  End Sub
            控制鼠标输入焦点的应用程序实例

  本文提供了一个简单的鼠标输入焦点控制的应用程序实例。程序中设置了如下控件:
控件 名称 属性 功能
Lable Lable1 显示"输入焦点演示"
Frame Frame1 Picture="C:\WINDOWS\安装程序.BMP" 放置其他控件并显示图象等的容器
Lable Lable2 AutoSize=True 自动调整窗口大小
Visiable=False 起始状态为不显示
Time Time1 Interv
  • 上一篇资讯: VB6中用DataReport做报表
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号