在一个应用程序中创建两个窗口

时间:2011-07-09 04:47:28

标签: c++ windows winapi

这可能是一个简单的问题,但我不知道从哪里开始寻找答案。如何使用本机winapi在一个应用程序中创建两个单独的Windows界面?我是否使用相同的CreateWindow()放置了两个HINSTANCE函数?如果我想要登录屏幕窗口和内容页面以便首先登录屏幕,并且在我按下按钮之后,登录屏幕被破坏,并且内容页面出现,该怎么办?我该怎么办?

我想在按钮点击消息中使用DestroyWindow然后CreateWindow。但是,这意味着while中的主WinMain循环(用于转换/分派消息)将退出其循环并导致整个程序退出。另一种方法是在WinMain中预先创建它,但是如果单击按钮并输入第二个循环而不是退出程序,我将如何通知WinMain

1 个答案:

答案 0 :(得分:5)

你过分思考它。要创建两个窗口,请两次调用CreateWindow。就是这么简单。

调用DestroyWindow不会导致程序退出其消息泵。调用PostQuitMessage就是这样做的。所以不要这样做。

单击该按钮时,销毁一个窗口并创建另一个窗口。没有技巧。消息泵将消息传递到所有窗口(除非您通过显式请求一个窗口的消息而做错了,但您不应该这样做。)