我有一个基于 NativeWindow 类的类,我希望能够在用户单击它内部时执行一些操作。这是我尝试过的:
代码已删除
但是它不起作用。由于某种原因,调试表明消息永远不是 0x0201,这应该是鼠标左键单击。它出什么问题了?
我不确定工具提示能否收到 WM_LBUTTONDOWN。您可以尝试使用TTM_RELAYEVENT 消息,该消息用于将鼠标消息传递给工具提示控件进行处理,如下所示:
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);
}