gpt4 book ai didi

c++ - MFC:从另一个线程访问 GUI?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:49:07 28 4
gpt4 key购买 nike

因此通常只有主线程才能访问 MFC 应用程序中的 GUI。

然而,这是一条法律还是只是建议?如果我通过关键部分确保只有一个线程访问 GUI 中的某个对象,那么可以吗?或者如果 MAIN 线程访问 GUI 的一部分而另一个线程访问 GUI 的一部分,这是否是一个问题。即使这 2 个对象互不影响?

我问的原因是,如果我可以从另一个线程访问 GUI,这会大大简化我对应用程序的重写。

最佳答案

不要这样做。如果这样做,您将生活在一个充满 ASSERT 和怪异行为的世界中。 GUI 通过在主线程上“泵送”的 Windows 消息系统工作。如果您开始在另一个线程中修改 UI,您将遇到这样的情况:您的操作会导致其他 UI 消息,这些消息可能会在您仍在尝试访问另一个线程上的 UI 的同时由主线程处理。

如果不尝试处理这类事情,MFC 编程就已经很困难了。而是使用 PostMessage 将与 UI 相关的处理放到主线程上。

关于c++ - MFC:从另一个线程访问 GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462347/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com