-
Notifications
You must be signed in to change notification settings - Fork 851
关于duilib显示一个模态窗口后程序仍往下执行的问题 #420
Copy link
Copy link
Closed
Description
之前开发一直都是用的原生的duilib,最近要换到网易的duilib,有这样一个功能:
先弹出一个提示框,然后根据提示框的选择再进行下一步操作,之前是使用一个模态窗口来实现。
原理就是模态窗口show了之后程序会停止然后等待模态窗口的操作再继续运行,于是我在试验网易duilib 的msgbox控件的时候,我把它原本的showwindow()函数改成了showmodalfake(hwnd);

按照设想,我在显示弹出提示框的下一步加上断点

然后点击listitem,它应该等我关闭这个模态窗口后才会执行到return这一步。但是实际上点击后,窗口还没弹出,就已经执行到return这一步。

于是我进入showmodalfake(hwnd);发现它的实现如下:

对比之前我使用的原生duilib的showmodal()

两者一对比,发现是少了一个while的过程,于是对网易的showmodalfake(hwnd)做了以下修改

解决了这个问题,实现了只有模态窗口操作后后才能进行下一步操作。
但是不知道这样是否合理,望指正。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels