【问题标题】:Get name of control that mouse over it(win32)获取鼠标在其上的控件名称(win32)
【发布时间】:2011-12-12 07:45:31
【问题描述】:

我有一个 win32 程序。
我想在鼠标经过特定控件时更改状态文本
WM_MOUSEMOVE

wsprintf((LPWSTR)szBuf, TEXT("Mouse position: %d, %d"), LOWORD(lParam), HIWORD(lParam));
        SendMessage(hWndStatus, SB_SETTEXT, 0, (LPARAM)(LPSTR)szBuf);

但它只给我鼠标位置。

【问题讨论】:

  • Windows 在 win32 中没有名称。您至少需要 WindowFromPoint()。从那里你可以从那个句柄中找出一个名字。
  • 正确:“名称”是错误的术语。但是,如果您想知道鼠标何时位于特定 窗口上,那么处理事件比轮询位置要高效得多。恕我直言...

标签: winapi mouseevent


【解决方案1】:

强烈建议:尽可能使用比 Win32 更高级别的东西。 MFC、VB ... 任何东西

但是,要回答您的问题,您应该能够结合使用 TrackMouseEvent () 和 WM_HOVER:

http://www.codeguru.com/forum/showthread.php?t=290195

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2011-11-30
    • 2012-03-11
    • 2014-11-22
    相关资源
    最近更新 更多