捕获NativeWindow上的Click

时间:2012-12-27 18:43:58

标签: c# .net windows winforms .net-4.0

我有一个基于NativeWindow类的类,我希望能够在用户点击它时执行某些操作。这是我试过的:

删除了代码

然而它不起作用。调试建议由于某种原因消息永远不是0x0201,这可能是鼠标左键单击。怎么了?

1 个答案:

答案 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);
    }