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 に答える