コントロールが重なったときの処理方法について – プログラミング – Home

コントロールが重なったときの処理方法に...
 
通知
すべてクリア

[解決済] コントロールが重なったときの処理方法について


OM
 OM
(@OM)
ゲスト
結合: 18年前
投稿: 1
Topic starter  

みなさん、はじめまして、OMです。

早速質問させてください。
VC++ 6.0でのダイアログベースのプログラムですが、
ListBoxを利用しています。通常隠していますが、ある
ボタンを押すと出てくるようにしています。そのとき
他のEditコントロールとかと重なると、ListBoxの機能
を正しく利用できません。
つまり、ListBoxからデータを選択したいのに、その下に
あるEditコントロールに影響されて、正しく選択でき
ないわけです。

このようにコントロールが重なっているときでも上にある
コントロールしか効かない使用法をぜひご教授願いたいと
思います。よろしくお願いします。


引用未解決
トピックタグ
三草
 三草
(@三草)
ゲスト
結合: 19年前
投稿: 56
 

回答ではありませんが、重ならないようにするのはダメなのでしょうか?
EditをShowWindowで非表示にしたり、MoveWindowで移動させたり。。。


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

現象がよくわかりませんが、
再現コードとかつくれません

SetWindowPosあたりでZオー
ダをいじっても改善されませ
んか?


返信引用
超初心者
 超初心者
(@超初心者)
ゲスト
結合: 23年前
投稿: 139
 

Zオーダは重要だね。

ダイアログのコントロールはWS_CLIPCHILDRENが設定されていないと
兄弟ウィンドウにも描画できてしまうので変になるよ。
逆にそれを利用してグループボックスは中がくり抜かれているんだけど。
それでうまくいくかは分かりませんけど。


返信引用
OM
 OM
(@OM)
ゲスト
結合: 18年前
投稿: 1
 

みなさん、ご返事にたいへんありがとうございます。

ListBoxの下に隠されたコントロールをShowWindowで非表示にする方法で
解決しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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