掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
処理中画面のマーキーを動かすには? (ID:73144)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Ryo さん、コメントありがとうございます。 処理を行っている流れは以下の様になります。 #実際のソースは長いので各処理部分は省略しています。 <処理中画面呼び出し> CWaitDlg *n_pDlg; n_pDlg = new CWaitDlg(this); n_pDlg->Create(IDD_WAITDLG); n_pDlg->CenterWindow(); // 親ダイアログの中央表示 n_pDlg->GetDlgItem(IDC_PROGRESS1)->UpdateWindow(); n_pDlg->ShowWindow(SW_SHOW); // 画面表示 n_pDlg->RedrawWindow(); // 再描画 n_pDlg->SetFocus(); MSG msg; if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && !AfxGetThread()->PreTranslateMessage(&msg)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } // 検索ファイル名取得 if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && !AfxGetThread()->PreTranslateMessage(&msg)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } // ファイル検索処理→再帰関数にも入れました。 // WaitDlgポインタ削除 if(n_pDlg) { n_pDlg->DestroyWindow(); delete n_pDlg; } 呼び出している処理中画面は以下の様に作成しています。 BOOL CWaitDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: ここに初期化を追加してください LOGPRINT( LOG_LV_FNC_S, __FUNCTION__, "", 0 ); // プログレスバーをマーキー表示に設定 ::SetWindowLong(m_nProg.GetSafeHwnd(), GWL_STYLE, WS_CHILD | WS_VISIBLE | PBS_MARQUEE); m_nProg.SendMessage(PBM_SETMARQUEE, TRUE, 50); return TRUE; // return TRUE unless you set the focus to a control // 例外 : OCX プロパティ ページは必ず FALSE を返します。 } 何か設定抜けがありますでしょうか? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.