Replies: 2 comments
-
不推荐这样使用,while 会导致整个主线程被阻塞,除了 msgbox 显示以外,其他窗口的渲染应该正常执行而不是被一个 msgbox 阻塞掉。这个 msgbox 是一个异步的,当点击确定或者取消后,投递新的任务到 UI 线程来执行任务,而不应该阻塞整个主线程。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
非常感谢
…------------------ 原始邮件 ------------------
发件人: "netease-im/NIM_Duilib_Framework" ***@***.***>;
发送时间: 2022年6月6日(星期一) 上午9:37
***@***.***>;
***@***.******@***.***>;
主题: Re: [netease-im/NIM_Duilib_Framework] 关于duilib显示一个模态窗口后程序仍往下执行的问题 (Discussion #421)
不推荐这样使用,while 会导致整个主线程被阻塞,除了 msgbox 显示以外,其他窗口的渲染应该正常执行而不是被一个 msgbox 阻塞掉。这个 msgbox 是一个异步的,当点击确定或者取消后,投递新的任务到 UI 线程来执行任务,而不应该阻塞整个主线程。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
之前开发一直都是用的原生的duilib,最近要换到网易的duilib,有这样一个功能:






先弹出一个提示框,然后根据提示框的选择再进行下一步操作,之前是使用一个模态窗口来实现。
原理就是模态窗口show了之后程序会停止然后等待模态窗口的操作再继续运行,于是我在试验网易duilib 的msgbox控件的时候,我把它原本的showwindow()函数改成了showmodalfake(hwnd);
按照设想,我在显示弹出提示框的下一步加上断点
然后点击listitem,它应该等我关闭这个模态窗口后才会执行到return这一步。但是实际上点击后,窗口还没弹出,就已经执行到return这一步。
于是我进入showmodalfake(hwnd);发现它的实现如下:
对比之前我使用的原生duilib的showmodal()
两者一对比,发现是少了一个while的过程,于是对网易的showmodalfake(hwnd)做了以下修改
解决了这个问题,实现了只有模态窗口操作后后才能进行下一步操作。
但是不知道这样是否合理,望指正。
Beta Was this translation helpful? Give feedback.
All reactions