首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win32应用编程接口每个窗口不同的类?

Win32应用编程接口每个窗口不同的类?
EN

Stack Overflow用户
提问于 2012-03-23 07:02:28
回答 2查看 455关注 0票数 0

我最近开始使用win32应用程序接口,并尝试做一些事情。我有一个项目,将使用大约4-5个窗口。我想将它们分别放到一个不同的cpp文件中,每个文件都有自己的消息循环。如何将信息从一个窗口传递到另一个窗口?(是否有某种入口点?)目前,我在case WM_CREATE:期间创建了所有窗口,并根据需要显示它们。

我试图有一个很好的OOP设计,但遇到了问题,我的主要问题是窗口之间的通信。我在C#和C++方面有相当多的经验,除此之外,win32应用编程接口不是问题。

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2012-03-23 07:28:30

我不认为你想要一个每个窗口的消息循环,除非你希望每个窗口都在它自己的线程中。相反,您可能需要一个窗口过程。

每个窗口类都有自己的窗口过程,在将其传递给RegisterClass之前,可以通过设置WNDCLASS结构的lpfnWndProc字段来注册该过程。完成此操作后,您可以在使用CreateWindow创建新窗口时使用该类。

在您的示例中,您可能希望实现窗口过程,使其接受自定义消息(WM_APP + x),然后使用PostMessage (用于异步通信)或SendMessage (用于同步通信)在窗口之间传递自定义消息。如有必要,可以为不同的窗口创建单独的窗口类和窗口过程。单个消息循环能够将消息发送到所有这些过程。

票数 2
EN

Stack Overflow用户

发布于 2012-03-23 07:11:32

窗口间通信的经典方式是发送/发布消息:

SendMessage

PostMessage

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9831828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档