0

によって作成されたタブ コントロールがありますCreateWindowEx(NULL, WC_TABCONTROL,...)。マウスがタブ項目の上にあるときに通知を受け取りたいです。タブ コントロールにはスタイルがTCS_TOOLTIPSあり、マウスがタブ項目の上に数TTDT_INITIALミリ秒 (デフォルト値はダブルクリック時間) あると、ツールチップが表示されます。

ただし、マウスがタブ項目の上にあるときにすぐに通知する必要もあります。TTDT_INITIALしかし、私は値を変更したくありません。実際、選択されていないタブ項目の上にマウスを置くと、デフォルトで色が青に変わります。しかし、このことの通知 (およびその受信者) が見つかりません。

be notified immediately when a mouse is over a tab itemそれで、 (winapiのみ)方法があるかどうか知りたいです。

4

1 に答える 1

4

その特定の目的のための通知はありません。タブは独自のコントロールではなく、TabControl 全体が 1 つのコントロールです。できることは、TabControl キャッチWM_MOUSEMOVEメッセージのウィンドウ プロシージャを作成し、呼び出しTabCtrl_HitTest()て現在マウスの下にあるタブを特定することです。現在のタブを追跡して、マウスがタブ境界を越えて新しいタブに移動したことを検出できるようにします。

于 2012-08-01T23:52:55.817 に答える