CListCtrl上にCComboBoxを貼り付けたいのですが – プログラミング – Home

通知
すべてクリア

[解決済] CListCtrl上にCComboBoxを貼り付けたいのですが


ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
Topic starter  

いつも参考にさせていただいております。

ダイアログにCListCtrl(レポート形式)を配置し、サブアイテムに値を代入する時に
CComboBoxで選択するようなものを考えています。
選択されている行の(例えば)2列目の位置にCComboBoxをMoveWindowであわせ、CComboBoxで
選択した文字列をCListCtrl::InsertItem()で設定するといった具合です。

実際にコーディングしてみましたが、プルダウンのボタンが表示されません。
ドロップダウンリストにはしていないので、文字入力は出来ます。
正確にはCComboBoxが存在するであろう位置にマウスカーソルを移動させると文字入力カーソル
になります。そこで、クリックすると入力出来ます。
見えないのですがプルダウンのボタンの位置をクリックするとプルダウンボタンが表示されま
す。

MoveWindowで位置をあわせた際に、クリックしなくても、そこにCComboBoxがあるのがわかる
ようにプルダウンのボタンも表示したいのです。

タブオーダーを変更してみたり(どこかでZ軸に関係するという記述を見た為)SetWindowPosを
wndTopMostでやってみたりしましたが、ダメでした。
同じようにスピンボタンで値を上下させようと思いましたが、これもあるはずの場所をクリック
しないと表示されない有様です。

どなたか、このような不具合を回避する方法をご教示願いたいのですが。

宜しくお願い致します。

MFC VC++6 Windows2000 使用です。


引用未解決
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

もしかして、コントロール同士の親子関係って関係あるのかな・・・。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

リストとコンボが同じ親に属するなら、
WS_CLIPSIBLINGSスタイルを付けてみるというのは?


返信引用
akey
 akey
(@akey)
ゲスト
結合: 22年前
投稿: 53
 

カスタムドローでCListCtrlにボタンだけ描画するのは如何でしょう?


返信引用
ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
Topic starter  

皆さんありがとうございます。

sugar さん

CListCtrlもCComboBoxも同じ親に属していた為、CComboBoxをCreateする際の親ウィンドウを
CListCtrlにしてみました。
するとあっさり実現出来てしまいました。ありがとうございます。

dairygoods さん

WS_CLIPSIBLINGSスタイルをヘルプで見てみました。
兄弟ウィンドウでは、このように設定すればよいのですか。勉強になります。

akey さん

今まで、ごく普通にコントロールを使ってきましたので、カスタムドローとは縁がなかったで
す。
今度なにかの機会にチャレンジしてみたいと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました