如何获得鼠标在当前窗体的窗体坐标???---不是屏幕坐标。

oayaya 2003-10-15 04:05:08
如何获得鼠标在当前窗体的窗体坐标???---不是屏幕坐标。
...全文
48 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerhohoo 2003-10-16
  • 打赏
  • 举报
回复
ClientToScreen and ScreenToCliend
CityHost 2003-10-16
  • 打赏
  • 举报
回复
我来作个标记
oayaya 2003-10-16
  • 打赏
  • 举报
回复
谢谢2位

mswhf可加点注释吗?
mswhf 2003-10-15
  • 打赏
  • 举报
回复
TMouse *point=new TMouse;
ClientToScreen(point->CursorPos);
HWND WD= WindowFromPoint(point->CursorPos);
COpyFRee 2003-10-15
  • 打赏
  • 举报
回复
楼主的意思是“获得鼠标在其它程序窗口的相对坐标”吧?

1. 先设“WH_MOUSE”钩子钩到当前窗体,得到窗体句柄;
2. 用 GetCursorPos() 得到标鼠在屏幕的绝对坐标;
3. 用 GetWindowRect() 获得窗体相对屏幕的矩形位置;
4. 用 ScreenToClient() 将屏幕坐标转换为客户区坐标;
5. 减一下就行了……

有点麻烦,不知道还有什么更简单的方法!


oayaya 2003-10-15
  • 打赏
  • 举报
回复
SORRY。。。我是说系统里的当前窗体~~~~~~~~~~`
我不懂电脑 2003-10-15
  • 打赏
  • 举报
回复
x,y就是鼠标在当前窗体的窗体坐标
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
Edit1->Text = X;
}
fatwave 2003-10-15
  • 打赏
  • 举报
回复
Mouse->CursorPos.x
Mouse->CursorPos.y
ccrun.com 2003-10-15
  • 打赏
  • 举报
回复
转换一下不就行了?
ScreenToClient

13,822

社区成员

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

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