0

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

代码已删除

但是它不起作用。由于某种原因,调试表明消息永远不是 0x0201,这应该是鼠标左键单击。它出什么问题了?

4

1 回答 1

1

我不确定工具提示能否收到 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);
    }
于 2012-12-28T15:14:22.633 回答