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


joker  2007-12-15 21:00:20  No: 67194

昨日の質問は下記の通りで解決したのですが、
ダイアログボックスを更新中にマウスでダイアログボックスを移動すると、
ダイアログボックスは移動しても、テキストの表示位置は動きません。

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

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

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 21:34:31  No: 67195

ビッグジョブかな
つまり時間のかかる処理を実行しっぱなし。

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


とおりすがり  2007-12-17 01:59:10  No: 67196

シングルスレッドでちまちま更新しながら回してるからだろうね


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

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






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