|
第 |
Last Updated 2005/04/25 |
MFC
ダイアログ
|
|
時間がかかる処理などを行わせる場合,実行中のダイアログを表示してなおかつ
中止をしたい場合がある.
その場合はモードレスダイアログを表示して,PeekMessage() にてメッセージルー
プを作成する.
CKeikaDlg をモードレスで作成
void CKeikaDlg::OnButtonCancel()
{
// 中止ボタン押下
m_bCancel = TRUE;
}
// 下の関数を時間がかかる処理のなかで呼び出す
BOOL CKeikaDlg::IsCanceled()
{
MSG msg;
while( ::PeekMessage( &msg, NULL, 0, 0, RM_REMOVE ) ) {
::TranslateMessage( &msg );
::DispatchMessage( &msg );
}
return m_bCancel;
}
2002/05/23
MFC
ダイアログ
|
|