【问题标题】:Display ToolTip when mouse hover on Column Header of List Control in MFC C++当鼠标悬停在 MFC C++ 中列表控件的列标题上时显示工具提示
【发布时间】:2023-03-12 14:34:01
【问题描述】:

我有一个场景,当我将鼠标悬停在 MFC C++ 中列表控件的列标题上时,我需要显示一个工具提示。

当我只将鼠标悬停在第 1 列和第 2 列时,我需要工具提示。

我使用了消息处理程序 OnNotify(),因此当我将鼠标悬停在 List 控件标头上时,调用将进入 OnNotify() 函数。现在如何只处理第 1 列和第 2 列。

有人可以提出更好的方法吗?

BOOL MyClass::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
//////////////////////////
...............
// How to handle here??
..............
////////////////////////

return true;

}

【问题讨论】:

  • 请更改您的问题,以便我们了解 MyClass 是什么样的窗口类。
  • 您可以直接使用 HDM_GETITEMRECT 或 CHeaderCtrl::GetItemRect 来确定鼠标光标(GetCursorPos)是否在我认为的特定列内。

标签: c++ visual-c++ mfc


【解决方案1】:

我相信 lParam 是一个 NMHDR 结构

NMHDR nmh = (NMHDR&)lParam;
nmh.code;     // What Event caused the Notify
nmh.hwndFrom; // What Window
nmh.idFrom;   // Which Control

我认为您可以使用“idFrom”来确定哪个列生成了事件。

【讨论】:

    【解决方案2】:

    也许my article in CodeGuru 会帮助你。这是我认为的 2005 年,但仍然有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多