- 締切済み
Win32APIでかっこいいコンボボックスを作る
基本的なコンボボックスを作る方法はわかったのですが、 InternetExplorerのようなコンボボックスを作りたいのです。 オーナードローをしてみても、リストボックスの方しか描けないようです。 (自分のやり方がまずいだけなのかも知れませんが) エディットの外枠の色と、下矢印のボタンの格好を変えたいです。 どなたかご存知ありませんか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Oh-Orange
- ベストアンサー率63% (854/1345)
★カッコイイとは Windows XP の Luna スタイルのことですか? ・このスタイルにするには『マニフェスト』ファイルを用意すれば簡単に変更できます。 回答者 No.2 さんの『参考URL』にある >マニフェストを作成しアプリケーションがビジュアル スタイルを使用できるようにするには という項目の XML 形式のソースをコピー&ペーストして拡張子が『.manifest』になるように 保存します。また、ファイル名の方は自作したアプリケーションの名前を付けます。 つまり、アプリケーションの名前が『sample.exe』ならば、『マニフェスト』ファイル名を 『sample.exe.manifest』と名前を付けるのです。そして、『sample.exe』のプログラムがある フォルダに『sample.exe.manifest』を移動するだけで Windows XP の Luna スタイルに簡単に なります。 ・この方法を利用すればフリーソフトで Luna スタイルになっていないタイプも『manifest』の ファイルをプログラムと同じ場所にコピーするだけで簡単に変更できます。 コピー&ペーストする XML 形式のソースは特に変更しなくても良いので、リネームしてどんどん コピーすればすべて Luna スタイルで起動します。 ・あとリソースなどで『マニフェスト』ファイルを用意すれば exe ファイルの中に取り込んでくれます。 この方法は比較的新しいコンパイラしか出来ないようなことを聞いています。 私の使っている Microsoft Visual Studio .NET 2003 ではリソースとして追加していれば exe の ファイルに格納してくれます。Borland 製のコンパイラは使ったことがないため試していませんが、 リソースに次の行を追加して下さい。重要なのは RT_MANIFEST の1行です。 ///////////////////////////////////////////////////////////////////////////// // // RT_MANIFEST // 1 RT_MANIFEST "sample.exe.manifest" #endif // 日本語 resources ↑この位置の前に挿入するすれば良い。#endif の行は記述してはいけませんよ。注意! その他: ・リソースファイル(rc)に上記の RT_MANIFEST の1行を追加すればコンパイル時に『マニフェスト』 ファイルが exe に格納されます。『sample.exe.manifest』のファイル名はアプリケーションによって 代わってきます。適当に変更して下さい。 ・Windows XP の Luna スタイルならば、オーナードローしなくても良い。 ・以上。おわり。
補足
書き忘れました。。。すみません。 一応Borlandを使っています。