Sleepできません

[戻る]
そな 2006/01/13(金) 11:25:47
VC++6.0でDialogベースのアプリケーション制作中です。
文字が点滅しているようにみせたいので、Sleep関数を使いたいのですが、
pRich->SetWindowText(s);
Sleep(500);
pRich->SetWindowText("     ");
Sleep(500);
としてもsに入っている文字列は表示されず、"     "が数秒後に表示されるだけで
す。なぜでしょうか?

天飛 2006/01/13(金) 11:38:22
sに入っている文字が表示されないのは
イベントが返っていないためです。
点滅しているように表示させたいのであれば
タイマーを使用して実装するのがよいと思います。

BOOL xxxxx::OnInitDialog()
{
    (省略)
    nCount = 0;
    this->SetTimer( WM_USER+100, 100, NULL );
    (省略)
}

void xxxxx::OnTimer(UINT nIDEvent)
{
    if( nIDEvent == WM_USER+100 ){
        if( nCount % 2 )    m_Stc.SetWindowText( _T("文字点滅試験") );
        else                m_Stc.SetWindowText( _T("") );
        nCount += 1;
    }
    CDialog::OnTimer(nIDEvent);
}

επιστημη [E-Mail] 2006/01/13(金) 11:54:39
寝せたらあかんて。仕事させな。

REE 2006/01/13(金) 12:04:30
>なぜでしょうか?

Sleepによって表示もせずに待機しているからです。

そな 2006/01/13(金) 14:53:41
[[解決]]
できました!!ありがとうございました!!

古いスレッドには追加発言できません。