Listbox 拖放的问题!解决就给100分!

stwx 2003-03-12 08:00:01
listbox中有多个item, 一个对像拖放到一个listbox,
在listbox 的事件

List1_DragDrop(Source As Control, X As Single, Y As Single) 中

如何由X,Y得到拖放到listbox 的那个 list.ListIndex,要用API吗?
...全文
94 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-03-14
  • 打赏
  • 举报
回复
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 = &H1A9

Private Sub Form_Load()
Dim i As Long
For i = 1 To 100
List1.AddItem i
Next
Text1.Text = "aaaa"'dragmode=1
Text2 = "bbbb"'dragmode=1
Text3 = "cccc"'dragmode=1
End Sub

Private Sub List1_DragDrop(Source As Control, X As Single, Y As Single)
Dim lXPoint As Long, lYPoint As Long, lIndex As Long
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
If TypeOf Source Is TextBox Then lIndex = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, _
ByVal ((lYPoint * 65536) + lXPoint)) ' 获得当前的光标所在的的屏幕位置
List1.AddItem Source.Text, lIndex
End Sub
stwx 2003-03-13
  • 打赏
  • 举报
回复
我没弄过这些,谢谢了。100分请笑纳
northwolves 2003-03-13
  • 打赏
  • 举报
回复
奇怪。

Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
lIndex = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, _
ByVal ((lYPoint * 65536) + lXPoint))
MsgBox List1.List(lIndex)
stwx 2003-03-13
  • 打赏
  • 举报
回复
to :northwolves(野性的呼唤

lYPoint 和 lXPoint 不用给值吗? 我何我的 LINDEX 总是0 因为lYPoint 和 lXPoint都是0 ,怎办
northwolves 2003-03-13
  • 打赏
  • 举报
回复
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 = &H1A9

Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
LINDEX = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, _
ByVal ((lYPoint * 65536) + lXPoint))
MsgBox List1.List(LINDEX)
stwx 2003-03-13
  • 打赏
  • 举报
回复
to :northwolves(野性的呼唤

你的代码出现 "DLL 调用约定错误",如何解决? lYpoint 和 lXPoint 为何值?

其它各位方法并不可取
gang75 2003-03-12
  • 打赏
  • 举报
回复
gz
northwolves 2003-03-12
  • 打赏
  • 举报
回复

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 = &H1A9
Dim LINDEX As Long
LINDEX = SendMessage(List1.hwnd, LB_ITEMFROMPOINT, 0, _
ByVal ((lYPoint * 65536) + lXPoint))
MsgBox List1.List(LINDEX)
xixixi9988 2003-03-12
  • 打赏
  • 举报
回复
应该很简单:List1.ListIndex = Y / Me.TextHeight ("A")
bobob 2003-03-12
  • 打赏
  • 举报
回复
是否可以用焦点来考虑?拖放的目的地应该具有焦点,再用api得到当前焦点的句柄~仅供参考
stephenlv 2003-03-12
  • 打赏
  • 举报
回复
这个我刚刚做过。
可以对list进行划分,计算得到一个数组。数组的每一个项对应于list的每一项。这样可以自己编一个函数来测试鼠标所在点是否在你想要的区域里,这样,就可以得到数组的index,进而知道list的当前index,使用index+list.topindex则可以得到相应的list.listindex
自定义类型:
type Point
x as single
y as single
end type

type Rect
point1 as Point
point2 as point
end type

dim m_Rects(dimension) as Rect'dimension为和list中可视的项目数相等。
vf6.0,要考二级没系统的下哈 Microsoft Visual FoxPro 6.0 for Windows 的常见问题 这些是有关 Microsoft Visual FoxPro 最常见的问题。在您求助 Microsoft 产品支持服务之前,请先查阅这张列表。 若想打印这些附注,请从“文件”菜单中选择“打印”命令。此文档为以下四部: --------------------------------------------------------------------- 部 1. 技术支持与市场 部 2. Visual FoxPro 6.0 新增功能 部 3. 从其他版本的 FoxPro 和 Visual FoxPro 中移植 部 4. Visual FoxPro 常见问题 --------------------------------------------------------------------- 部 1. 技术支持与市场 问题 1-1: 从何处可以获得产品的更新版本? 答案: 在 Visual FoxPro 的 Web 站点上即可获得产品的更新信息,其中包括有关 Service Pack 和更新的示例、向导及其他代码的信息,该站点的网址为: www.microsoft.com/vfoxpro 请定期查看该网站,以便下载产品的最新版本。 问题 1-2: 从何处可以得到有关 Visual FoxPro 的详细资料? 答案: 通过 Microsoft Visual FoxPro Web 站点是随时获得各种最新产品发布信息的最佳途径。在此站点上不仅有新的产品公告,而且还提供了产品的更新信息、技术文章、白皮书、专业开发人员设计的优秀示例、会议公告、以及与其他许多 FoxPro web 站点的各种链接。 问题 1-3: 如何获得技术支持,以及如何报告软件错误? 答案: Microsoft Visual FoxPro Web 站点已经链接到了多种联机支持选项,其中包括覆盖面广阔的有关所有产品 Microsoft Knowledge Base(Microsoft 知识库)。您还可以阅读一份有关常见问题的清单。除联机支持之外,还可以直接通过电话获得技术支持。“帮助”菜单中的选项可列出技术支持的电话号码。这些电话号码也可用于报告产品中的错误。 问题 1-4. 什么是 Knowledge Base?如何使用它? 答案: Knowledge Base 是内容广泛的论文集,覆盖了如何使用产品的各种特性、已知的软件错误及其解决方案或回避的方法、以及其他有助于使用各种 Microsoft 产品的有用信息。通过以下站点可访问整个 Knowledge Base: support.microsoft.com 问题 1-5: 是否会有 Visual FoxPro 6.0a? 答案: Microsoft 公司一向承诺为用户提供高质量的产品。如果确实需要,我们将提供 Visual FoxPro 6.0 的错误修订版。但是,修订版不会使用 6.0a 版的形式。Visual FoxPro 6.0 中任何错误的修正都将包含在 Visual Studio Service Pack 中。同时还会在 Visual FoxPro 的 www.microsoft.com/vfoxpro 或 Visual Studio 的www.microsoft.com/vstudio 的 Web 站点上发布修订公告。 问题 1-6: Microsoft 公司为应用程序的开发提供了一些优秀的解决方案。怎样才能知道应该向客户推荐和使用哪种产品? 答案: 在选择适用某项任务的产品时,需要考虑多方面的因素。Microsoft Visual FoxPro web 站点上有一份优秀的策略背景论文,它比较了 Visual FoxPro、Visual Basic、SQL Server 和 Access 等 Microsoft 产品之间的不同。 问题 1-7: 哪里可以找到 Visual FoxPro 的使用示例? 答案: Visual FoxPro 6.0 产品中带有丰富的示例,其中有一些是针对 6.0 版特有功能的新示例。与 Visual FoxPro 以前的版本不同,这些示例将与所有 Visual Studio 示例安装在一起。您必须运行 MSDN Library 的“自定义”安装来安装这些示例。在 Visual FoxPro 中可使用新的 HOME(2) 函数方便地找到已安装示例的位置。 除了产品中所自带的示例外,Microsoft Visual FoxPro web 站点还将经常提供新的示例。
CH341A1.16编程器配套程序 测试环境 WINXP 1.1G CPU, 512M内存 测试结果仅供参考, 不同电脑配置, 速度有所影响 名称 容量 写入 读取 WINBOND W25X80 1MByte/8MBit 42秒 8秒 MXIC 25L1605D 2MByte/16MBit 123秒 18秒 MXIC 25L3205D 4MByte/32MBit 35秒 MXIC 25L6405D 8MByte/64MBit 110秒 MXIC 25L12805D 16MByte/128MBit 220秒 1.00版 完成基本功能 1.01版 25系列应坛友要求加入128K支持 1.02版 加入多语言了 加入SST模式(待测) 能打开\保存Intel Hex文件了(待测),Hex文件格式解释可能有误, 不推荐使用 加读取芯片标识和序列号(待测) 改了几处BUG 1.03版 修正打开\保存Intel Hex文件的功能, 用BIN\HEX交叉保存测试正常了, 用其它编程软件也能打开了 修正多语言功能 其它改动 1.04版 加入防窗体假死, 肯定会影响烧写速度的 加入在编程完成后自动校验功能 读芯片信息功能在左侧也加入了 语言文件有变动 在编程工作时, 加入禁止退止 修正 填充 窗口 范围地址不正常 发现有不少芯片编程指令不同, 不能通过简单的选择容量解决, 下一版会做一个大改动. 1.05版 修正上一版因个人犯的严重失误导致所有芯片烧写失常 移除SST模式, 用芯片数据库的芯片参数控制 移除容量选择, 改用芯片数据库 加入芯片数据库, 编程指令\参数存在数据库中, 改进为选择芯片类型\厂商\名称的方式 加入芯片查找选择功能 已知ESMT 25系列的的芯片 不能烧写, 待解决, 主要是手头没这芯片, 无法调试程序 1.06版 修正芯片列表会出现报Listbox 索引 -1 的BUG 修正芯片查找 过滤功能不正常的BUG 1.07版 修正WIN7不能运行的BUG 1.08版 去除数据区已修改内容的着色功能, 让填充功能速度提升 增加编程工作时, 禁用打开\保存\填充\交换功能, 避免误操作 修正语言中一个错误的单词 可以成功烧写SST和ESMT芯片了, 但速度超慢(没办法的, 这两种不支持按页编程模式) 1.09版 改窗体, 可以最大化, 适用大屏幕\大字体 WIN7.... 去掉认会眼花的文字效果 修正KH芯片烧写问题 芯片数据库加入几个型号的芯片 1.10版 增加快速读取模式, 可以在操作选项窗口切换. 默认标准读取模式 否则为 快速读取模式 增加SST/ESMT芯片使用AAI编程模式, 可以在操作选项窗口切换. 默认AAI编程模式 否则为 字节编程模式, 如果不能写入, 请切换为字节编程模式 优化查空\读取\校验功能, 比原有速度快差不多一半时间 增加状态栏显示当前操作状态 增加选项 写入完成后校验 1.11版 修正擦除后立刻写入时, 会报写入超时的问题 修正擦除后立刻查空时, 有时会报芯片不为空的问题 修改选项 AAI编程模式 默认为 不打钩 1.12版 修改为使用USBIOX.DLL, 如想使用CH341DLL.DLL, 把CH341DLL.DLL放在软件目录下, 修改Config.ini中的 DriverDLL=DLL文件名 并保存即可 增加缓冲区数据查找功能 增加缓冲区数据跳转功能 修正个别对25T80不能 擦除\编程 的问题 1.13版 修改计时显示格式 原来的是 ":秒:毫秒" 改为 "时::秒:毫秒" 增加可以拖放文件到程序中加载 菜单增加全选缓冲区数据 1.14版 增加终止功能, 可以在读写操作过程中进行终止. 修正状态栏显示当前操作的状态刷新不实时的问题 芯片数据库增加了几个芯片 1.15版 25芯片扩展支持最大容量到256MByte/2048MBit芯片, WINDOWS内存小于1G的, 请不选择, 否则是无法加载这么大的数据, 并会造成操作系统内存用尽,系统变慢... 修正对个别芯片在编程报"写操作超时失败"的BUG 增加记住最后使用的文件夹, 可在选项关闭 增加记住窗口位置和大小,可在选项关闭 1.16版 增加繁体中文语言 修正芯片数据库中EON系列芯片, 有部份型号容量错误的问题 芯片数据库再次增加了几个芯片 重复修正对个别芯片在编程报"写操作超时失败"的BUG 其它细小的改动优化
语言规范 C# Language Specification 1.2(C#语言规范1.2).doc C# Language Specification 2.0(C#语言规范2.0).doc 源码教程 ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_运算符重载.htm.txt 10_阴影和深度复制.htm.txt 11_事件基础.htm.txt 12_事件进阶.htm.txt 13_读写Txt文件.htm.txt 14_StatusBar控件.htm.txt 15_自定义控件.htm.txt 16_使用打开保存文件对话框.htm.txt 17_图形绘制基础.htm.txt 18_图形绘制进阶-线条、字体.htm.txt 19_图形绘制进阶-图像(双倍缓冲).htm.txt 20_Windows应用程序安装部署概念.htm.txt 21_使用文件基础.htm.txt 22_使用文件高级.htm.txt 23_串行化和并行化.htm.txt 技术资料 ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt datagrid排序_选择_页.txt DataSet对象.txt DotNET WinForm FAQ 16个.txt excel打印.txt EXCEL导出.txt EXCEL中合并单元格.txt mail.txt NET在RichTextBox控件加入图片(类似QQ).txt send.txt SQL储存过程等的解密.txt VisualC#打造“浏览器”.txt vs2005常用快捷键.txt webcontrol和pagelet.txt win2003中配置msdtc.txt word导出.txt 保证应用程序只有一个实例运行.txt 编辑字段中的word文件.txt 编码标准.txt 播放声音.txt 捕捉DataGrid的双击事件(C#版本).txt 不显示窗口后台运行程序.txt 储存过程.txt 处理“进程性能计数器被禁用”的错误.txt 串口操作.txt 打开word文件.txt 打造“浏览器”.txt 带图标和自定义颜色的ListBox.txt 得到当前数据库中所有用户表信息.txt 读取、设置系统时间日期.txt 读写注册表.txt 对过程进行加密.txt 二进制数据保存.txt 二进制数据字段的更新.txt 页及动态创建列的控件 .txt 改变Windows服务的启动顺序.txt 各进制之间的转换.txt 给图片添加版权信息.txt 关于拖放操作.txt 关于在WinForm里用HttpWebRequest获得某个页面,并填写页面的textbox及点击button的方法.txt 画带阴影效果的文字.txt 环境信息.txt 获得光标在多行textbox中的行与列的函数.txt 计算控件中文字所占的宽度.txt 加半透明图片水印.txt 将控件放到datagrid中以及修改列宽.txt 截取系统消息.txt 解决VS.NET使用中属性框不显示的问题.txt 里的InputBox.txt 模拟鼠标和键盘操作.txt 取CPU的序列号.txt 如何:在VisualC#.NET中建立一个平滑的进度条.txt 如何得到网卡号.txt 如何调用WindowsAPI的要点.txt 如何控制输入法.txt 如何利用GDI作图解决异或问题.txt 如何取硬件标志.txt 如何让应用程序只有一个实例运行.txt 如何如何插入照片到Excel.txt 如何识别键盘左右的shift,Ctrl或Alt键.txt 如何水晶按钮的程序生成.txt 如何为DataGrid添加下拉列表框.txt 如何用C#在Excel中生成图表?.txt 如何用程序实现键盘和鼠标的模拟?.txt 如何与资源管理器互动剪切、拷贝、粘贴文件.txt 深入理解C#编程中的组件-事件-委托.txt 生成透明的GIF图片 .txt 生成压缩图片时的2种方法.txt 使用C#返回系统特殊路径.txt 使用VisualC#.NET检查Windows版本.txt 使用Win32和其他库.txt 使用自己画的光标.txt 数据绑定.txt 水晶报表使用winform.txt 水印.txt 特殊文件夹路径.txt 同一解决方案中一个项目的xml注释在另一个项目中不能智能提示显示这些注释的解决方法.txt 图像读取.txt 无标题窗口的拖放.txt 下面的5行代码完成了从局域网中找出所有的机器.txt 显示DataGrid序号的一个适用的方法.txt 用C#快速往Excel写数据.txt 用C#来捕获屏幕.txt 用C#做ScreenSaver.txt 用imgscan.ocx来扫描图像.txt 用word填充表格.txt 用户登录组合控件.txt 在.NET中得到计算机硬件信息的一些功能.txt 在MapX中响应滚轮放大缩小地图.txt 在两个ASP.NET页面之间传递值.txt 在如何利用SharpZipLib进行文件的压缩和解压缩.txt 怎样打开关闭CDROM.txt 怎样检测网络中的电脑是否有安装SQL2000.txt 怎样写一个存储过程类来实现如何对存储过程的调用?.txt 直接拉入图片文件到程序窗口中打开.txt 指定Web服务器运行的不是ASP.NET1.1版.txt 字符串加密.txt 字幕显示屏幕保护.txt 自己动手用c#写控件.txt C#试题 简答题.txt 填空题.txt 问答题1.txt 问答题2.txt 选择题.txt 综合题.txt 辅助软件 aspx/asp代码生成器
辅助软件 aspx/asp代码生成器 语言规范 C# Language Specification 1.2(C#语言规范1.2).doc C# Language Specification 2.0(C#语言规范2.0).doc 源码教程 ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他议题.htm.txt 07_接口的执行.htm.txt 08_集合.htm.txt 09_运算符重载.htm.txt 10_阴影和深度复制.htm.txt 11_事件基础.htm.txt 12_事件进阶.htm.txt 13_读写Txt文件.htm.txt 14_StatusBar控件.htm.txt 15_自定义控件.htm.txt 16_使用打开保存文件对话框.htm.txt 17_图形绘制基础.htm.txt 18_图形绘制进阶-线条、字体.htm.txt 19_图形绘制进阶-图像(双倍缓冲).htm.txt 20_Windows应用程序安装部署概念.htm.txt 21_使用文件基础.htm.txt 22_使用文件高级.htm.txt 23_串行化和并行化.htm.txt 技术资料 ACCESS数据库操作类.txt ASP.NET常用代码.txt asp.net常用函数表.txt Asp.net的身份验证.txt ASP导出Excel数据的四种方法.txt C#调用存储过程.txt CheckBox控件.txt datagrid排序_选择_页.txt DataSet对象.txt DotNET WinForm FAQ 16个.txt excel打印.txt EXCEL导出.txt EXCEL中合并单元格.txt mail.txt NET在RichTextBox控件加入图片(类似QQ).txt send.txt SQL储存过程等的解密.txt VisualC#打造“浏览器”.txt vs2005常用快捷键.txt webcontrol和pagelet.txt win2003中配置msdtc.txt word导出.txt 保证应用程序只有一个实例运行.txt 编辑字段中的word文件.txt 编码标准.txt 播放声音.txt 捕捉DataGrid的双击事件(C#版本).txt 不显示窗口后台运行程序.txt 储存过程.txt 处理“进程性能计数器被禁用”的错误.txt 串口操作.txt 打开word文件.txt 打造“浏览器”.txt 带图标和自定义颜色的ListBox.txt 得到当前数据库中所有用户表信息.txt 读取、设置系统时间日期.txt 读写注册表.txt 对过程进行加密.txt 二进制数据保存.txt 二进制数据字段的更新.txt 页及动态创建列的控件 .txt 改变Windows服务的启动顺序.txt 各进制之间的转换.txt 给图片添加版权信息.txt 关于拖放操作.txt 关于在WinForm里用HttpWebRequest获得某个页面,并填写页面的textbox及点击button的方法.txt 画带阴影效果的文字.txt 环境信息.txt 获得光标在多行textbox中的行与列的函数.txt 计算控件中文字所占的宽度.txt 加半透明图片水印.txt 将控件放到datagrid中以及修改列宽.txt 截取系统消息.txt 解决VS.NET使用中属性框不显示的问题.txt 里的InputBox.txt 模拟鼠标和键盘操作.txt 取CPU的序列号.txt 如何:在VisualC#.NET中建立一个平滑的进度条.txt 如何得到网卡号.txt 如何调用WindowsAPI的要点.txt 如何控制输入法.txt 如何利用GDI作图解决异或问题.txt 如何取硬件标志.txt 如何让应用程序只有一个实例运行.txt 如何如何插入照片到Excel.txt 如何识别键盘左右的shift,Ctrl或Alt键.txt 如何水晶按钮的程序生成.txt 如何为DataGrid添加下拉列表框.txt 如何用C#在Excel中生成图表?.txt 如何用程序实现键盘和鼠标的模拟?.txt 如何与资源管理器互动剪切、拷贝、粘贴文件.txt 深入理解C#编程中的组件-事件-委托.txt 生成透明的GIF图片 .txt 生成压缩图片时的2种方法.txt 使用C#返回系统特殊路径.txt 使用VisualC#.NET检查Windows版本.txt 使用Win32和其他库.txt 使用自己画的光标.txt 数据绑定.txt 水晶报表使用winform.txt 水印.txt 特殊文件夹路径.txt 同一解决方案中一个项目的xml注释在另一个项目中不能智能提示显示这些注释的解决方法.txt 图像读取.txt 无标题窗口的拖放.txt 下面的5行代码完成了从局域网中找出所有的机器.txt 显示DataGrid序号的一个适用的方法.txt 用C#快速往Excel写数据.txt 用C#来捕获屏幕.txt 用C#做ScreenSaver.txt 用imgscan.ocx来扫描图像.txt 用word填充表格.txt 用户登录组合控件.txt 在.NET中得到计算机硬件信息的一些功能.txt 在MapX中响应滚轮放大缩小地图.txt 在两个ASP.NET页面之间传递值.txt 在如何利用SharpZipLib进行文件的压缩和解压缩.txt 怎样打开关闭CDROM.txt 怎样检测网络中的电脑是否有安装SQL2000.txt 怎样写一个存储过程类来实现如何对存储过程的调用?.txt 直接拉入图片文件到程序窗口中打开.txt 指定Web服务器运行的不是ASP.NET1.1版.txt 字符串加密.txt 字幕显示屏幕保护.txt 自己动手用c#写控件.txt C#试题 简答题.txt 填空题.txt 问答题1.txt 问答题2.txt 选择题.txt 综合题.txt

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧