私は、ListViewコントロールのオーナー描画ヘッダーを持っています。ヘッダーがオーナーでない場合、マウスがヘッダーの列の1つにあるとき、ホバー効果が得られます。ヘッダー列のオーナーを描いた後は、自分自身でホバー効果を処理する必要があります。マウスのホバーでヘッダー列を強調表示するにはどうすればいいですか?
これを捕まえるために、ヘッダウィンドウ内のWM_MOUSEMOVE
メッセージを監視します。このメッセージが表示されたら、最初に背景が変更されたヘッダーの列を再描画し、その上にテキストやその他の必要なグラフィックスを描画します。ただ1つだけですが...テキストのフォントは太字のになります。
これは次のとおりです。最初のヘッダーは私のもので、2番目のヘッダーは日付変更された列のホバー効果を持つWindowsエクスプローラーのものです。
なぜフォントが急に大胆になっていますか? これはホバー効果を実装する正しい方法ですか?ヘッダー固有の通知がありませんでしたか?
Yup - その太字は、DCのデフォルトです。ポスターはWM_GETFONTをヘッダーコントロールに送信して、適切なフォントを取得できます。 – Bukes
Yeap、私はそれを得るためにWM_GETFONTメッセージを使用しました。 – Robertas