[問題] 在另外的視窗顯示progress[MFC]

看板C_and_CPP (C/C++)作者 ( )時間16年前 (2009/03/20 10:01), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
我有兩個dialog,一個是主視窗, 另一個就是單純放了一個progress在上面(顯示進度用的) 我設計的程式中有兩個地方需要用到ProgressBar 一個是RESET完之後,要讓使用者等待大概十秒 所以顯示有progress的那個對話窗,讓進度跑十秒再結束dialog CPROGRESSDLG dlg; dlg.Create(IDD_PROGRESS,this); dlg.ShowWindow(SW_SHOW); dlg.UpdateWindow(); dlg.m_Progressbar.SetRange(0,24); dlg.m_Progressbar.SetPos(6); Sleep(2000); dlg.m_Progressbar.SetPos(11); Sleep(2000); dlg.m_Progressbar.SetPos(17); Sleep(2000); dlg.m_Progressbar.SetPos(21); Sleep(2000); dlg.m_Progressbar.SetPos(24); Sleep(1000); dlg.ShowWindow(SW_HIDE); 我用以上的寫法目前是可以達成我的需求(只是不知道code是否有哪邊不恰當) 另一個需要用到ProgressBar的地方是 主視窗上的某個功能,我會去設定八個地方的參數,因為也需要一段時間 所以想說每設定完一個我就用有ProgressBar的那個dialog來告訴使用者現在進度 但是現在的寫法 (類似上面,只是dlg.m_Progressbar.SetPos的地方會每次加一) 會讓dialog閃爍 (因為當程式跳出那段,跑去執行其他動作時,progress那個dialog就消失了) 請問我要如何讓有progress那個dialog顯示在主視窗之前, 一方面主視窗又可以繼續完成該做的工作? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.152.131

03/20 21:55, , 1F
api SetWindowPos(..... HWND_TOPMOST)
03/20 21:55, 1F

03/20 21:56, , 2F
會將該hwnd設為最上層
03/20 21:56, 2F
文章代碼(AID): #19mlZgg2 (C_and_CPP)
文章代碼(AID): #19mlZgg2 (C_and_CPP)