我有一个基于NativeWindow类的类,我希望能够在用户点击它时执行某些操作。这是我试过的:
删除了代码
然而它不起作用。调试建议由于某种原因消息永远不是0x0201,这可能是鼠标左键单击。怎么了?
答案 0 :(得分:1)
我不确定工具提示是否可以收到WM_LBUTTONDOWN。您可以尝试使用TTM_RELAYEVENT message来表示将鼠标消息传递给工具提示控件进行处理,如下所示:
protected override void WndProc(ref System.Windows.Forms.Message m)
{
const int TTM_RELAYEVENT = 0x407;
if (m.Msg == TTM_RELAYEVENT)
{
Message relayed = (Message)Marshal.PtrToStructure(m.LParam, typeof(Message));
if (related.Msg == WM_LBUTTONDOWN)
{
// Do something
}
}
base.WndProc(ref m);
}