2015-10-23 9 views
5

次言及documentationINITCOMMONCONTROLSEX構造:「BUTTON」は共通のコントロールですか?

ロード固有のUSER32制御クラスのいずれかをICC_STANDARD_CLASSES。ユーザーコントロール には、ボタン、編集、静的、リストボックス、コンボボックス、スクロールバーがあります。

「ボタン、編集、静的、リストボックス、コンボボックス」が一般的なコントロールであるとはどういう意味ですか?


が、私はこれについての説明は以下であると思う:

は、これらのコントロールの2つのバージョンがあり、バージョンは1つuser32.dllのに存在し、そして他のバージョンが存在するCOMCTL32.DLLであります、Visual Stylesを使用すると(マニフェストファイルを自分のプログラムに追加すると)、使用されるバージョンはcomctl32.dllとなります。Visual Stylesを使用した場合、ICC_STANDARD_CLASSESInitCommonControlsEx()を呼び出す必要があります。

これは間違いありませんか?

答えて

3

XPテーマの前の昔は、標準的な基本的なuser32コントロールの違いがありました。ボタン、編集、スタティック、リストボックス、コンボボックス。 Windowsの初期のバージョンに戻って、これはすべてありました。

後で一般的なコントロールが表示されました。リストビュー、ツリービュー、ツールバー、ステータスバー、プログレスバー、日付時間ピッカーなど。これらのコントロールを初期化するには、InitCommonControlsに電話しなければなりませんでした。

XPテーマの登場により、ボタン、編集などの標準コントロールでさえ、すべてのコントロールを登録するにはInitCommonControlsExに電話する必要があります。しかし、私はそれらを共通のコントロールとはみなしません。私には、基本的なコントロール、ボタン、編集などと、共通コントロール、リストビュー、ツリービューなどの区別があります。しかし、それは重要な区別ではありません。あなたは本当にそれについて心配する必要はありません。

+0

"ボタン、編集、静的、リストボックス、コンボボックス"を使うには 'InitCommonControlsEx()'を 'ICC_STANDARD_CLASSES'と呼ぶ必要がありますか?私は 'InitCommonControlsEx()'を長時間呼び出さずにこれらのコントロールを使用していますが、何か問題がありますか? – James

+0

XPテーマについては、標準のコントロールであっても、少なくともドキュメントに応じて 'InitCommonControlsEx'を呼び出すことを意図しています。 –

+0

ボーナスリーディング:[Windows XPの共通コントロールの履歴](http://blogs.msdn.com/b/oldnewthing/archive/2008/01/29/7294949.aspx)。 – IInspectable

関連する問題