1

ツールバーなどにツールチップを表示する Win32 アプリケーションがあります。ツールチップは、テキストが組み込まれた非常に基本的な四角形です。たとえば、角を丸くしたり、背景をグラデーションで塗りつぶしたりして、これらを美しくしたいと考えています。Win32 API セット内で表示設定を制御するものは見つかりませんでした。これが可能かどうか、または C++ Win32 アプリケーション内で使用できる、見栄えの良いツールバーを作成するサード パーティ製ライブラリがあるかどうかは誰にもわかりませんか?

4

1 に答える 1

6

ツールチップウィンドウをサブクラス化して( TB_GETTOOLTIPSメッセージを送信して取得)、WM_PAINT とその仲間のハンドラーをオーバーライドする必要があります。

視覚的な問題に対応するために、ユーザーがテーマ、フォント、コントラストなどをカスタマイズしている可能性があることに注意してください。それらの描画方法をオーバーライドすることで、ユーザーがそれらを読みにくくする可能性があります。また、テーマの残りの部分とうまく調和しなくなる可能性があることにも注意してください。

「システムの色設定、つまり、ユーザーがコントロール パネルで選択した色を常に優先します。ユーザーは、コンピュータに好みの配色を与えるために意図的にこれらの色を選択しています。また、視覚障害のあるユーザーの多くは、意図的に色を設定しています。彼らがよりはっきりと見えるスキームをアップします. (さらに言えば, 大きなフォントを好む人々があなたのテキストを読めるように, 彼らは常にシステムフォントを尊重します.)" --Joel Spolsky

少なくとも、ユーザーがハイ コントラスト モードでディスプレイを使用している場合は、既定の外観を許可します。これは、SystemParametersInfoを呼び出すことで検出できます。

于 2012-05-16T16:35:53.877 に答える