更改对话框

Changing dialog boxes

本文关键字:对话框      更新时间:2023-10-16

win32 API:

假设我有一个包含两个菜单项的对话框,"菜单项a "answers"菜单项B"

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

当我点击"菜单项B"时,我希望当前对话框的主屏幕更改为对话框B的屏幕。

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

通常的方法是有两个子"容器"对话框作为外部框架窗口的子窗口;我们称它们为对话a和对话b。它们包含两个相应对话框的控件。当您想从一个对话框切换到另一个对话框时,使用ShowWindow()来显示一个对话框并隐藏另一个对话框。在Win32中,隐藏HWND也隐藏了所有的子控件,所以你可以很容易地通过在子窗口中分组来隐藏和显示控件组,就像这样。

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

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