有沒有辦法取得鼠標當前所在的位置?

LiangWu25 2006-01-10 03:57:03
這個位置不是指鼠標的屏幕位置,而是指路徑,比如我的鼠標放在桌面上時,要根據鼠標能取得這個路徑是"c:\windows\desktop",鼠標停在桌面的文件夾“1”上時,要得到這個路徑是“c:\windows\desktop\1”。
...全文
100 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiangWu25 2006-01-11
  • 打赏
  • 举报
回复
自己搞定,結貼
blueyestar 2006-01-10
  • 打赏
  • 举报
回复
mark up
LiangWu25 2006-01-10
  • 打赏
  • 举报
回复
我所做的是COM中的數據拖放,這個COM被模擬成文件夾,用戶可以從外面拖放文件進來,也可以拖放“文件”出去。拖放文件進來已經實現,問題是怎么拖放“文件”出去?這個“文件”并不是真實的文件,而僅僅是文件名,當用戶完成拖放后,要在目標位置生成一個文件,所以我需要知道用戶松開鼠標時所在的目標位置。
LiangWu25 2006-01-10
  • 打赏
  • 举报
回复
cuteant,我看了一下這個例子,這個例子是從外部拖放文件到程序中來,而我要做的剛好相反。
我要把程序中的數據拖放到外部去,這個“外部”是不確定的,需要根據鼠標來確定目標路徑,就像實現從文件夾內部拖放文件到文件夾外一樣,不同的是我拖放的也并不是文件,而是數據,我試過用IDropSource接口來實現,但是不能成功,所以我想改為別的方式,只要知道這個鼠標所在的“目標路徑”即可。
cuteant 2006-01-10
  • 打赏
  • 举报
回复
自制支持文件拖放的VCL组件

用过Winamp的朋友都知道,Winamp的界面能支持文件拖放,当你想欣赏某MP3文件时,只需要
将文件拖到Winamp的窗口上,然后放开鼠标就行了。那我们如何让自己的程序也实现这样的功能 呢?我们可以通过改进开发工具提供的标准组件来实现。下面以Delphi环境中的ListBox组件为例,让ListBox支持文件拖放。
首先介绍一下要用到的API函数:
DragAcceptFiles() 初始化某窗口使其允许/禁止接受文件拖放
DragQueryFile() 查询拖放的文件名
DragFinish() 释放拖放文件时使用的资源
实现的基本原理如下:首先调用DragAcceptFiles()函数初始化组件窗口,使其允许接受文件
拖放,然后等待WM_DropFiles消息(一旦用户进行了拖放文件操作,组件窗口即可获得此消息),获得消息后即可使用DragQueryFile()函数查询被拖放的文件名,最后调用DragFinish()释放资源。
。。。。。。。。

详情请看http://www.hktk.com/soft/program/article/delphi/delphi525.html
cuteant 2006-01-10
  • 打赏
  • 举报
回复
DragQueryFile()

你看看下面的例子吧
http://www.ccw.com.cn/htm/app/aprog/01_6_13_9.asp
wangdong2006 2006-01-10
  • 打赏
  • 举报
回复
Mark,不知道,帮顶
LiangWu25 2006-01-10
  • 打赏
  • 举报
回复
找了一些API資料,都沒有找到想要的。盼復,thanks
LiangWu25 2006-01-10
  • 打赏
  • 举报
回复
我們用鼠標進行文件拖放時,比如把一個文件夾內的文件拖放到其它地方,那么當我們松開鼠標時,文件就會拷到那里去,也就是系統能夠根據鼠標來定位這個目標路徑,我的意思也就是怎么根據鼠標來取這個目標路徑。
bluejing0 2006-01-10
  • 打赏
  • 举报
回复
mark
学习
vision2000 2006-01-10
  • 打赏
  • 举报
回复
不知所言

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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