PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題]MFC 類似PROGRESSBAR的功能
作者:
asdfg1597860
(Jay)
2018-05-28 16:40:48
開發平台(Platform): (Ex: Win10, Linux, ...)
WIN7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
MFC2003
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
如題 小弟想要在按下某個按鈕時出現一個Dialog
由於不想讓FUNCTION裡運算的資料停下來
所以我做了一個Modeless的Dialog讓它可以邊運算邊顯示Dialog
點選按鈕後會跳出Messagebox
如果是IDOK
則出現Dialog
可能是因為create的特性出現的Dialog不是完整的(只顯示title)
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
Dialog 裡 CStatic 及兩個button無法顯示
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
void Function()
{
pModeless = new CModeless(this);
pModeless->create(IDD_DIALOG);
pModeless->ShowWindow(SW_HIDE);
呼叫Messagebox
Switch 是否為IDOK
{
pModeless->ShowWindow(SW_SHOW);
計算...
...
}
if(pModeless != NULL)
pModeless->OnCancel();
}
補充說明(Supplement):
請各位高手給小弟一點意見
作者:
Schottky
(順風相送)
2018-05-28 21:52:00
有沒有發現運算時你的整個程式都卡住不動了
作者:
asdfg1597860
(Jay)
2018-05-28 23:35:00
這到是沒有欸 過程滑鼠會轉圈圈 圈圈轉完dialog就會完全顯示計算也完成了
作者:
Schottky
(順風相送)
2018-05-29 03:25:00
本來想寫一篇來解釋,不過剛好搜尋到板上有一篇不錯的文
#1GnfbVvR
跟我要講的東西大致相同,可以參考看看把 PeekMessage 那幾行插在ShowWindow之後以及計算中途你就會看到 modeless dialog 被畫完以及進度條被更新開 thread 的方法較正統,PeekMessage 法較偷懶簡便簡單說就是 message queue 要有人去處理,畫面才會更新,滑鼠點按鈕才會有反應等等
作者:
asdfg1597860
(Jay)
2018-05-29 09:06:00
謝謝Schottky大大 問題解決了 看來我對MFC架構不夠熟
作者:
james732
(好人超)
2018-05-31 00:49:00
想要熟MFC架構非常困難啊 XD
作者:
asdfg1597860
(Jay)
2018-06-01 00:17:00
目前我也只有套套function而已 架構還真的不了解
繼續閱讀
[問題] constructor問題
ken32293355
[問題] getchar()讀取輸入數據相關
jojojen
[問題] 動態配置矩陣的理解
SFMAndroid
[問題] 請問cobol資料格式用C++解碼
li4288
[問題] thread運作
x246libra
[問題] 指標的指標
zzss2003
pro*C 的書?
EricTao
Windows Driver WDM 練習
v00623
[問題] virtual destructor的問題
dreamboat66
[問題] if的簡單問題
louisshih
Links
booklink
Contact Us: admin [ a t ] ucptt.com