Skip to content

关于duilib显示一个模态窗口后程序仍往下执行的问题 #420

@QHHNB

Description

@QHHNB

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions