如何使用createwindowex()更改在C ++中打开的同一窗口的屏幕

时间:2014-04-21 09:47:55

标签: c++ winapi

我的问题编辑如下

我有一个主窗口,然后我有菜单栏,我已经定义了某些功能。对于每个功能,我想打开一个新窗口。

但由于我有(超过)5个操作,我不想为每个选项打开新窗口,而是如果可以在同一个窗口中发生。在附图中,您可以看到我所做的初始设计布局。

请注意菜单,处理,ADC参数,扫描参数中的三个不同选项 enter image description here

(请注意,在每个功能的后面,有一组完全不同的控件等用于硬件通信)。

1 个答案:

答案 0 :(得分:0)

既然你说每个函数都有一套完全不同的控件,最好设计3个不同的对话框形式并单独使用它们。

一种方法是在资源视图中设计对话框,使用包含3 Property Sheets的单个对话框。如果需要,可以隐藏属性页面的选项卡,以便有一个包含3种不同表单的对话框。

另一种方法是您可以使用Document-View-Architecture MFC(Microsoft基础类)并创建从CFormView派生的3个不同视图。 CFormView接收对话框模板ID(使用资源视图设计)。

每当用户从菜单中选择一项功能时,您都可以激活不同的视图。由于您使用的是视图而不是模式对话框,因此它看起来好像正在更新相同的视图。但在内部,您将有3个单独的文档/视图来处理处理。