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


素人です  2006-07-11 23:07:29  No: 62491  IP: 192.*.*.*

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 14:00:45  No: 62492  IP: 192.*.*.*

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

編集 削除
ヨロシコ  2006-07-14 12:43:19  No: 62493  IP: 192.*.*.*

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

編集 削除
kure  2006-07-14 12:47:37  No: 62494  IP: 192.*.*.*

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

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

編集 削除