イベント中のタイマー処理について – プログラミング – Home

イベント中のタイマー処理について
 
通知
すべてクリア

[解決済] イベント中のタイマー処理について


タワー
 タワー
(@タワー)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

環境:Win2000 VC++.NET MFCでダイアログアプリケーション作成

こんばんわ。タイマー処理について質問させてください。

ボタンを押すイベント後の処理に時間がかかるため、その間ダイアログのはしっこに
「処理中です」というメッセージを点滅表示させたいと思っています。
それでタイマーを使おうとしているのですが、イベントが一つ終わらないと
タイムアウトイベントに来てくれないのでしょうか?(ブレークをかけてみると
おそらくそうなっているような・・・)

void CAAADlg::OnBnClickedABCBtn()
{
m_ed_Msg.SetWindowText(処理中);
SetTimer(1,100,NULL);

//
//なが~い処理
//
m_ed_Msg.SetWindowText(");
KillTimer(1);

}

void CAAADlg::OnTimer(UINT nIDEvent)
{
CDialog::OnTimer(nIDEvent);

CString strMsg;
m_ed_Msg.GetWindowText(strMsg);
if(strMsg==処理中)
{
strMsg=";
}
else
{
strMsg=処理中;
}
m_ed_Msg.SetWindowText(strMsg);

}


引用未解決
トピックタグ
ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
 

OnBnClickedABCBtn()とOnTimer()のクラス名が違いますが、一緒という事で考えてよろしいで
しょうか?

試してみましたが、どうやらOnTimer()に来てないようですね。

長い処理であれば、スレッドを作成して処理したら良いのではないでしょうか?
今のままですとダイアログも動きませんし、ウィンドウが重なれば白くなってしまいますし。

VC++TIPSに作成方法が載っていますので参考にされると宜しいかと思います。

見当違いでしたら、すみません。


返信引用
タワー
 タワー
(@タワー)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

ひろぴー様 レスありがとうございます。

スレッドですか、なるほど・・。
挑戦してみます。何かありましたらまた質問させていただくかもしれませんので
その時はよろしくお願いします(_ _


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました