更改对话框

时间:2011-07-08 01:50:43

标签: c++ winapi

win32 API:

所以假设我有一个包含2个菜单项的对话框,“菜单项A”和“菜单项B”

当我点击“菜单项A”时,我希望当前对话框的主屏幕更改为对话框A的屏幕

当我点击“菜单项B”时,我希望当前对话框的主屏幕变为对话框B的屏幕。

我该怎么做?我是win32 api的新手,提前谢谢!

1 个答案:

答案 0 :(得分:1)

通常的做法是将两个子“容器”对话框作为外框窗口的子对象;让我们称它们为dialogA和dialogB。它们包含两个相应对话框的控件。如果要从一个切换到另一个,请使用ShowWindow()显示一个对话框并隐藏另一个对话框。在Win32中,隐藏HWND也会隐藏所有子控件,因此您可以通过在子窗口中对它们进行分组来轻松隐藏和显示控件组。

这是一般技术的概述。对于子对话框,您可以使用CreateWindow()手动创建它们,也可以使用CreateDialog()让窗口为您创建从对话框模板创建子控件的工作。

这种技术本质上是属性表和向导所做的。 (属性表添加了一个选项卡控件而不是菜单来控制显示哪个,而向导有下一个/上一个按钮。)