Windows WINAPI在TabControl上显示/隐藏控件

Windows WINAPI在TabControl上显示/隐藏控件,windows,winapi,winapp,Windows,Winapi,Winapp,在Windows API中,在TabControl上显示/隐藏控件的便捷方式是什么? 我见过一些例子,其中对消息WM_NOTIFY/TCN_SELCHANGE实现了反应,然后迭代所有控件,并选择代码要显示/隐藏的内容。 我希望Windows有一个内部机制来处理这个问题,比如创建一个父控件或将控件与特定选项卡相关联。通常的方法是使用CreateDialog创建一个无模式对话框,以包含每个选项卡的子控件,然后指定该无模式对话框的HWND(或导致HWND的其他值)到TCITEM的lpram 然后在TC

在Windows API中,在TabControl上显示/隐藏控件的便捷方式是什么? 我见过一些例子,其中对消息WM_NOTIFY/TCN_SELCHANGE实现了反应,然后迭代所有控件,并选择代码要显示/隐藏的内容。
我希望Windows有一个内部机制来处理这个问题,比如创建一个父控件或将控件与特定选项卡相关联。

通常的方法是使用CreateDialog创建一个无模式对话框,以包含每个选项卡的子控件,然后指定该无模式对话框的HWND(或导致HWND的其他值)到TCITEM的lpram

然后在TCN_SELCHANGE期间,您将获得足够的信息(TCITEM的lpram是提供的一部分),只需隐藏旧选项卡的无模式对话框并显示新选项卡的无模式对话框


我更喜欢将这些无模式对话框设置为选项卡控件本身的子窗口,因为它可以使用TCM\u ADJUSTRECT轻松计算位置,而无需使用MapWindowPoints。

将每个选项卡的控件放置在单独的对话框/父窗口上,然后根据需要使用选项卡事件来显示/隐藏每个对话框/父窗口。“选项卡控件的显示区域是应用程序显示当前页面的区域。通常,应用程序创建子窗口或对话框,设置窗口大小和位置以适合显示区域。”