首页 > 其他分享 >获取鼠标指针在ListBox中的行位置

获取鼠标指针在ListBox中的行位置

时间:2023-01-15 12:02:32浏览次数:36  
标签:Dim 鼠标 LstPOS ByVal List1 Long YY ListBox 指针


Listbox控件没有提供这个属性值可以调用,这里我写了个完整的演示程序,供大家参考.

新建一个工程,在Form1窗体上加上一个ListBox和一个Label.在窗体代码中粘贴以下程序,然后运行即可.

Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_ITEMFROMPOINT = &H1A9Private Sub Form_Load()
Dim i As Integer
For i = 1 To 5
List1.AddItem Trim(Str(i))
Next
End SubPrivate Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim LstPOS As Long
Dim XX As Long
Dim YY As Long
XX = CLng(X / Screen.TwipsPerPixelX)
YY = CLng(Y / Screen.TwipsPerPixelY)
LstPOS = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((YY * 65536) + XX))
If LstPOS < List1.ListCount Then
Label1.Caption = "当前位置为: " & LstPOS
End If
End Sub

'-------------------------------------------
' 作者:唐细刚


标签:Dim,鼠标,LstPOS,ByVal,List1,Long,YY,ListBox,指针
From: https://blog.51cto.com/u_8260968/6008527

相关文章

  • 双指针与扫描线
    概述先空着。例题UVA1608不无聊的序列Non-boringsequences题意:判断\(S\)是否boring。所谓boring,就是存在\(S\)的子串\(s\)满足\(s\)中不存在只出现一......
  • 指针与动态内存申请
    指针与动态内存申请:数组长度固定是因为在栈空间中大小是确定的,要使用的空间大小不确定,就需要使用堆空间。#include<stdio.h>#include<stdlib.h>#include<string.h>int......
  • 简单的指针
    指针也是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址。通过使用指针,就可以对任意指定地址的数据进行读写。虽然前面所提到的假想内存IC中仅有10位地址信号,......
  • 博客园下拉小猫,看板娘,鼠标图标特效
    博客园下拉小猫特效样式效果点击小猫之后会回到网页顶部  使用方法1.在自己的博客园中找到管理->设置页面2.在页首HTML代码中插入<!--悬挂的喵--><script......
  • leetcode算法入门 Day5 双指针(四)
    876.链表的中间结点给定一个头结点为head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。输入:[1,2,3,4,5]输出:此列表中的结点3(序......
  • Kotlin 空指针检查
    可空类型系统Kotlin利用编译时判空检查的机制几乎杜绝了空指针异常。虽然编译时判空检查的机制有时候会导致代码变得比较难写,但是不用担心,Kotlin提供了一系列的辅助工具,让......
  • 用指针数组的形式来比较两个有序数组数据与排序方式是否完全相同
    1#include<iostream>2#include<vector>3usingnamespacestd;4intmain()5{6inta[5]={1,2,3,4,5};//定义两个数组7intb[5]={1,2......
  • 指针
    1.内存 1.1什么是内存 内存是一种存储器,用来存放数据,程序,所有的程序都是加载到内存中运行的 1.2内存结构 内存由两部分组成,存储单元地址,和存储空间组成......
  • sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德j
    sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标  应用场景:      公司......
  • 空指针
     1.int*p=10就是给p变量存放地址为10值,这个是在定义的时候是给p变量赋地址值2.*p=10,就是给p变量的地址所指向的空间赋值为10,这个是p变量值所指向的地址空间赋值......