• ベストアンサー

コンボボックスの高さを変更したい。

こんにちは。 MFCでプログラムをしています。 コンボボックスを配置したのですが、高さを他のテキストボックス等を 合わせたいと思うのですがうまくいきません。 CComboBox::SetItemHeightでアイテムの高さを変更することで、コンボ ボックスの高さも変更されることは分かりました。 逆にコンボボックスのコントロールの高さが指定の高さになるように、 アイテムの高さを求めることはできないのでしょうか? もし解決方法がありましたら教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 こんばんは。  コンボボックスの高さから、アイテムの高さを引けば、枠淵の差額が出せるので、此れを利用するのが良さそうです。  スクリーンショットを取って、MSペイントで高さを測ってみましたが、一応狙い道理の高さ調整が出来ました。  以下参考程度に。 //コンボボックスの矩形を求める RECT wrc = {0}; pComboBox->GetWindowRect(&wrc); //コンボボックスの高さと、アイテムの高さの差を取る const int blank = (wrc.bottom - wrc.top) - pComboBox->GetItemHeight(-1); //コンボボックスの高さを64で調整 pComboBox->SetItemHeight(-1, 64 - blank);

shuuden
質問者

お礼

なるほど。アイテムの高さから逆算して、それからアイテムの高さを再計算するんですね。 この方法でうまく行きました。これは思いつきませんでした。 ありがとうございました。

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

関連するQ&A