ダイアログバーの上にダイアログを配置 – プログラミング – Home

ダイアログバーの上にダイアログを配置
 
通知
すべてクリア

[解決済] ダイアログバーの上にダイアログを配置


まかろに
 まかろに
(@まかろに)
ゲスト
結合: 21年前
投稿: 36
Topic starter  

いつも大変お世話になってます。

早速質問なのですが、ダイアログバーの上にダイアログを置くというのは
できるのでしょうか?

というのも、ダイアログバーの上に普通にコントロールを配置していたところ
途中から急にコントロールの処理が反応しなくなりました。
処理としては、普通に ShowWindow で表示/非表示していただけです。
かなりの数のコントロールをしかも重ねて1つのダイアログバーに配置したので
その辺りに原因があるのでしょうか? ( 数としては50ちょっとです )
ちなみに、配置といってもダイアログーバーと同じ大きさのダイアログを作り
そこにコントロールを配置して、全選択のコピーペーストで
ダイアログバーに張り付けています。

質問が2種類になってしまい、申し訳ありませんが
ご教示の程、よろしくお願い致します。


引用未解決
トピックタグ
まかろに
 まかろに
(@まかろに)
ゲスト
結合: 21年前
投稿: 36
Topic starter  

自己レスですいません。

調べてみたところ、コントロールが反応しなくなるというのは
コピペしたときにIDが変わっているからでは…という感じがしました。

コピー前   コピー後
IDC_EDIT_01 → IDC_EDIT_02 という感じで。

それが原因なら納得なのですが、そしたら本来のIDC_EDIT_01が無くなってる以上
GetDlgItem で見つからずにプログラムが停止するのかと思いきや
そういうこともなく普通に動いてるわけで…なんなんでしょう?


返信引用
KING・王
 KING・王
(@KING・王)
ゲスト
結合: 21年前
投稿: 122
 

#VSのリソースビューからリソースを編集していると状況と仮定して話します。
#違っていたら無視して下さい。

IDC_EDIT_01のダイアログをコピーすると、IDC_EDIT_2になったような気がしますが。。。

> それが原因なら納得なのですが、そしたら本来のIDC_EDIT_01が無くなってる以上
GetDlgItem で見つからずにプログラムが停止するのかと思いきや
そういうこともなく普通に動いてるわけで…なんなんでしょう?

コピーなら、IDC_EDIT_01はなくならないはずです。

取りあえず、全てのコントロールのプロパティから、IDの確認と、
resource.hを開いて、それぞれのIDの定義されている値を確認してみてはどうですか?


返信引用
まかろに
 まかろに
(@まかろに)
ゲスト
結合: 21年前
投稿: 36
Topic starter  

ご返答ありがとうございます。

恥ずかしながら、resource.h の存在を知りませんでした…
なるほど、こうやって定義してあるんですね。
いろいろ謎が解けた気がします。
ありがとうございました。

本当に、いつも素人みたいな質問ばかりで恐縮ですが
今後ともよろしくお願いいたします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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