• 締切済み

Win32APIでかっこいいコンボボックスを作る

基本的なコンボボックスを作る方法はわかったのですが、 InternetExplorerのようなコンボボックスを作りたいのです。 オーナードローをしてみても、リストボックスの方しか描けないようです。 (自分のやり方がまずいだけなのかも知れませんが) エディットの外枠の色と、下矢印のボタンの格好を変えたいです。 どなたかご存知ありませんか。

みんなの回答

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★カッコイイとは 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 スタイルならば、オーナードローしなくても良い。 ・以上。おわり。

全文を見る
すると、全ての回答が全文表示されます。
  • yonfa
  • ベストアンサー率52% (22/42)
回答No.2

> InternetExplorerのようなコンボボックスを作りたいのです。 > エディットの外枠の色と、下矢印のボタンの格好を変えたいです。 XP 視覚スタイルにしたいというのであれば、参考URLをご覧ください。 たぶん、MSVCでなくても適用できると思います。 そうでなければ、コントロールの自作ってことですかねぇ。

参考URL:
http://www.microsoft.com/japan/msdn/windows/windowsxp/xptheming.aspx
全文を見る
すると、全ての回答が全文表示されます。
  • yonfa
  • ベストアンサー率52% (22/42)
回答No.1

使用している開発環境はなんでしょうか?

noname#150388
質問者

補足

書き忘れました。。。すみません。 一応Borlandを使っています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コンボボックスの高さを変えたい

    WinXP,SDKです。よろしくお願いします。 コンボボックスに色を何色か表示したいです。 いつもはオーナー描画にはしないのですが 色を付ける為にオーナー描画とすると どうしてもコンボボックスの高さがオーナー描画ではない時に比べて長くなります。(コンボボックスはドロップダウンリストです) コンボボックスに小さいフォントを与えても変化しませんでした。 MoveWindowしてもダメでした。 CB_SETITEMHEIGHTをすると、リスト部分の各項目の高さが変わりました。 コンボボックスが閉じられた状態の高さを変えるにはどうしたら良いのでしょうか。 もしくは、オーナー描画にしなくてもコンボボックスの各項目に色を付ける事が出来るのでしょうか。 画面の中でこのコンボボックスだけが異様に大きくておかしいです。 画面のフォントサイズは変えられません(大きなコンボボックスに合わせて画面全体大きくして…というのはNG) アドバイスをよろしくお願い致します。

  • ExcelVBA コンボボックスリストのリセット

    4月からマクロを勉強し始めて、壁にぶつかっています。 ユーザーフォームでオプションボタンの下にコンボボックス(1)を、そのさらに下にもうひとつコンボボックス(2)をレイアウトしました。 コンボボックス(1)は選ばれたオプションボタンによって、異なるリストを表示させるようにしてあります。 わからないのは、コンボボックス(2)のリストをコンボボックス(1)で選ばれた文字によって変えたいのです。 たとえば、コンボボックス(1)で"A"と選択されたら、コンボボックス(2)にはリストA'が、(1)で"B"と選択されたら、(2)にはりすとB'が…、というように、場合分けさせたいのです。 方法をご存知の方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。

  • コンボボックスに似た・・・

    Visual Basicにてソフトウェアを作成中です. そのなかで変数を指定するボックスがあるのですが, コンボボックスのように自分で書き込むこともでき,または ボックスの右についている上下のボタンで一個ずつ変化できる ものをつけたいのですが,Visual Basicではなんという機能になるのでしょうか?? コンボボックスのようにリストがでるのではなく上下のボタンを ワンクリックで1変化するものです. 単純にコマンドをボックスの隣に置いているのかとも思いましたが, 押し続けると勢いよく値が上昇することから,もともと用意されて いる機能なのかと思いまして. ご存知の方おられましたらよろしくお願いいたします.

  • コンボボックスの使い方について

    環境はWIN98 VC++6.0 MFCです。 コンボボックスを初めて使うのですが、コンボボックスに何かを記入し、コマンドボタンを押すとコンボボックスのプルダウンのリストの中に追加されるようにするにはどうすれば良いですか? 具体的なコードなり参考サイトを教えてください。

  • コンボボックスで

    コンボボックスで、あるテーブルを参照してリストを出す場合、リスト中になかった場合に、コマンドボタンを押せばテーブルの追加フォームが出てきて入力できるようにしています。この場合に、入力フォーム内で終了(保存)ボタンを押せば、自動的にコンボボックスの中に入り、かつもう一度選択しなくても表示されているような操作はできないものでしょうか?

  • コンボボックスの自動更新について

    コンボボックスの自動更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中には「入力」ボタンとコンボボックスと テキストボックスがあります。 コンボボックスは、「ABCDEF」と6つのリストがあります。 ユーザーフォーム起動時には、コンボボックスは空欄で コンボボックスから、入力したい商品を選んで、入力ボタンを押して コンボボックスとテキストボックスの内容を入力・コンボボックスを 空欄に戻しています。 これを、「A」を選んで入力ボタンをおしたら「B」が選ばれる。 「B」を選んで入力ボタンをおしたら「C」が選ばれるといったように コンボボックスに表示されるリストを自動で更新することは できないでしょうか? Select case などを利用して組み立てようとしたのですが、 数時間以上調べても出来ません。 教えていただけると助かります。

  • [Access2003]コンボボックスとリストボックスの違い

    今、Access2003のフォームのコントロールの作成について勉強しています。『コンボボックス』と『リストボックス』を見て、コンボボックスは、「ドロップダウン形式でスペースを節約できる点」、リストボックスは、「一覧がすべて表示される」という意味がよく分かりませんでした。 インターネットでいろいろ調べて見たのですが…. 例えば・・・・ 店名ID 店名 A A店 B B店 C C店 と『コンボボックス』と『リストボックス』が表示され、ボックスの上の選択の矢印があるかないかの違いしか分かりませんでした。 (1)Access初心者なので『コンボボックス』と『リストボックス』について簡潔に教えてくださったら助かります。もしホームページで『コンボボックス』と『リストボックス』について一目で見たら違いが分かるというものが掲載されていたら教えてください。 (2)コンボボックスの「ドロップダウン形式」がよく分からないです。

  • アクセスでコンボボックスが開きません

    アクセスで入力画面を作っているのですが、 マウスを使わずに、エンターキーだけを使って、次のコントロールに飛びたいのですが、コンボボックスにきたときに、コンボボックスのプルダウンが開きません。コンボボックスが開けば、矢印キーとエンターキーだけで操作できるのですが。。 この違いだけで、入力作業は格段に早くなるのですが・・・。 ご存知の方教えてください。よろしくお願いいたします。m(__)m

  • コンボボックスで文字以外の表示

    コンボボックスで文字以外を表示させることはできますか? 今しようとしていることは、コンボボックスに赤や青などの色を表示させます。(リスト部分の1行に 赤色を正方形で表示) そして選ばれた色によってFORMの色がかわる。 というようなことです。 コンボボックスでバックカラーを赤にするとリストすべて が赤になり、思ったようにはなりません。 それともこのようなことはコンボボックスではできないのでしょうか?

  • コンボボックスのボタンの大きさについて

    Microsoft Accessのフォームにツールボックスからコンボボックスを配置しました。 表示される文字を大きめにしようとコンボボックスのサイズを変更したら右の ボタン[▼]が小さくなってしまいました。 ボタンのサイズをコンボボックスの高さとあわせるには何らかの操作が必要なのでしょうか? ご存知の方教えてください。