いつも参考にさせていただいております。
ダイアログにCListCtrl(レポート形式)を配置し、サブアイテムに値を代入する時に
CComboBoxで選択するようなものを考えています。
選択されている行の(例えば)2列目の位置にCComboBoxをMoveWindowであわせ、CComboBoxで
選択した文字列をCListCtrl::InsertItem()で設定するといった具合です。
実際にコーディングしてみましたが、プルダウンのボタンが表示されません。
ドロップダウンリストにはしていないので、文字入力は出来ます。
正確にはCComboBoxが存在するであろう位置にマウスカーソルを移動させると文字入力カーソル
になります。そこで、クリックすると入力出来ます。
見えないのですがプルダウンのボタンの位置をクリックするとプルダウンボタンが表示されま
す。
MoveWindowで位置をあわせた際に、クリックしなくても、そこにCComboBoxがあるのがわかる
ようにプルダウンのボタンも表示したいのです。
タブオーダーを変更してみたり(どこかでZ軸に関係するという記述を見た為)SetWindowPosを
wndTopMostでやってみたりしましたが、ダメでした。
同じようにスピンボタンで値を上下させようと思いましたが、これもあるはずの場所をクリック
しないと表示されない有様です。
どなたか、このような不具合を回避する方法をご教示願いたいのですが。
宜しくお願い致します。
MFC VC++6 Windows2000 使用です。
もしかして、コントロール同士の親子関係って関係あるのかな・・・。
リストとコンボが同じ親に属するなら、
WS_CLIPSIBLINGSスタイルを付けてみるというのは?
カスタムドローでCListCtrlにボタンだけ描画するのは如何でしょう?
皆さんありがとうございます。
sugar さん
CListCtrlもCComboBoxも同じ親に属していた為、CComboBoxをCreateする際の親ウィンドウを
CListCtrlにしてみました。
するとあっさり実現出来てしまいました。ありがとうございます。
dairygoods さん
WS_CLIPSIBLINGSスタイルをヘルプで見てみました。
兄弟ウィンドウでは、このように設定すればよいのですか。勉強になります。
akey さん
今まで、ごく普通にコントロールを使ってきましたので、カスタムドローとは縁がなかったで
す。
今度なにかの機会にチャレンジしてみたいと思います。