モードレスダイアログを表示させつづけるには?


素人です  2006-07-12 08:07:29  No: 62491

MFCを使っています。

draw_dlg = new Draw_Weight(0,weight,face_pos_x,face_pos_y);
draw_dlg->Create(IDD_WEIGHT);

とかいてIDD_WEIGHTで割りあてられるIDのダイアログを生成してます。
でも処理が終わるとダイアログがきえてしまいます。
どうすればよいのでしょうか?


PATIO  2006-07-12 23:00:45  No: 62492

情報が足りません。
これだけでは雲を掴むような話です。
そもそもプロジェクトの種類もVCのバージョンも明記されていません。
書かれている内容から多分、.Net Frameworkは使っていなさそうと言う事が
わかる程度では何ともしようがありません。
ダイアログが消えると言う事は消えるようにプログラムを書いているから
としか書きようがありません。


ヨロシコ  2006-07-14 21:43:19  No: 62493

考えられる原因の1つとして、Draw_Weightダイアログクラスを
関数内で宣言している。
void ○○::Func()
{
   Draw_Weight* draw_dlg;
   draw_dlg = new Draw_Weight(・・・);
   draw_dlg->Create(…);
}
とやると、関数を抜けたらダイアログは破棄されてしまうので、一瞬しか移りません。○○クラスのメンバ変数として、Draw_Weightクラスを宣言する。


kure  2006-07-14 21:47:37  No: 62494

> 関数を抜けたらダイアログは破棄されてしまうので
new してるんだから破棄はされないでしょ。
deleteしない限りはね。

「素人です」さんの言う
> 処理が終わると
が具体的に何をしてるのかわからん以上PATIOさんのおっしゃるとおり
そういうコードを書いてるからってことしか答えられません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加