■ ダイアログボックスの表示を更新するには?つづき

[Visual C++ Q & A 掲示板] [過去ログの一覧]


joker 2007/12/15(土) 12:00:20 <初心者>
昨日の質問は下記の通りで解決したのですが、
ダイアログボックスを更新中にマウスでダイアログボックスを移動すると、
ダイアログボックスは移動しても、テキストの表示位置は動きません。

あと、他のウィンドウが上にくると、上にきたウィンドウを他の場所に
移動しても、その後ダイアログにテキストが表示されません。

どうすればいいのでしょうか?

CString st1;
myDialog1 myDL;
myDL.Create(IDD_DIALOG1,this);
int loop;
for (loop = 1; loop <= loopmax; loop++)
{
   st = ........
   myDL.set_text(st1);
   myDL.ShowWindow(SW_SHOW); 
}
void myDialog1::set_text(CString st1)
{
   s += st1;
   myEdit1.SetWindowTextW(s);
   myEdit1.UpdateWindow();
   return;
}

wclrp ( 'o') 2007/12/15(土) 12:34:31
ビッグジョブかな
つまり時間のかかる処理を実行しっぱなし。

定期的にreturnするかメッセージ処理を入れるかマルチスレッドにしないと
ウィンドウを動かした時の処理とか
その他色々な処理が一切実行できないからじゃないの?

とおりすがり 2007/12/16(日) 16:59:10
シングルスレッドでちまちま更新しながら回してるからだろうね

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library