コンボボックスボタンの拡大

[戻る]
きくじろう 2008/04/08(火) 15:41:14
はじめましてきくじろうといいます
早速ですが質問です
コンボボックスの右側のボタンを大きくしたいんですが
フォントやMoveWindow等で大きくすると高さしか変わりません
幅も均等に拡大するにはどうすればよいでしょう?
オーナードローを調べてもリスト部の色を
変えたりする物しか見つかりませんでした
正方形のまま拡大する方法を教えてください
よろしくお願いします

環境はWinXPでVC6のMFCです

PATIO 2008/04/08(火) 18:05:30
コンボボックスの実装をソースレベルで調べて対応方法を考えるとか
しないと駄目かもしれませんね。
自分で、複数のコントロールを組み合わせてコンボボックスもどきを
作成するのとどちらが簡単かは分からないですね。

きくじろう 2008/04/09(水) 08:59:16
PATIOさん、ありがとうございます

今のところコンボボックスのOnPaintで何も処理しないようにすると
エディットボックスのみの表示になり
右隣にアイコンボタンを配置してその押下で
コンボボックスの右端にLBUTTONDOWNを送ると
ドロップダウンリストが表示されるので
フレームで枠を付け足してみたりして
もどきな物を作ってみました
それなりに動きは悪くはないんですが、
コントロールの寄せ集めなので隙間なんかがちょっと・・・です

コンボボックスの実装をソースレベルで調べて対応方法を考える方が
スマートな物が出来そうなんですが追いきれていないのが実状です(汗
コンボボックスの∇ボタンはフォントで表示されていると聞いたことがあり
もしかするとボタンの部分にフォント設定できれば幅も変えれるのかな?
とか想像するのですが、参考になりそうなものをご存知の方情報下さい
よろしくお願いします

subaru 2008/04/09(水) 10:30:40
コンボボックスのボタン部分の幅は、画面のプロパティのデザインタブで
スクロールバーのサイズに依存します。
ボタン部分の絵はDrawFrameControlまたはDrawThemeBackgroundで
描画されているんじゃないでしょうかね?

きくじろう 2008/04/09(水) 11:50:16
subaruさん、ありがとうございます
画面のプロパティは知りませんでした
すべての▼ボタンが大きくなってしまいますが
ぐりぐりプログラム組まなければと思ってたので
あまりに簡単で感動しました。
コレもアリかな?とか思ったり(笑

ですが折角ヒントも頂いたし
個別でサイズ変更出来る様に
もうちょっと調べてみます

きくじろう 2008/04/16(水) 15:58:29
[[解決]]
subaruさんありがとうございます

DrawFrameControl(rect,DFC_SCROLL,DFCS_SCROLLDOWN);
でコンボボックスのボタンの大きさは自在に変更できました。
クリック範囲が大きくならない(T-T)
まぁ絵を大きくしただけなので当然なんですが。
結局コントロールを寄せ集めたのと
同じような作りになりそうになってしまった(汗

理想は画面プロパティで設定できるスクロールバーのサイズを
プログラムでちょちょいと変えてうまく出来たらなー
と思ったりするんですがアレ変えたときに
「しばらくお待ちください」ってメッセージが出るくらいですから
ちょちょいとは出来ないんですねぇ

ちょっと時間がかかりそうなので
全部大きくなりますが画面のプロパティのデザインタブを使い
まずは解決とさせていただきます。

古いスレッドには追加発言できません。