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