Winapi 在运行时将控件添加到属性页(不带对话框模板)

Winapi 在运行时将控件添加到属性页(不带对话框模板),winapi,controls,runtime,add,propertysheet,Winapi,Controls,Runtime,Add,Propertysheet,据我所见,通常在Win32(我使用的是API,而不是MFC)编程中创建属性表的方式是,每个选项卡页都有一组对话框模板,并用它们制作属性表。我读过关于“在内存中”创建对话框模板的内容,但我不想这样做。如何在运行时以编程方式将控件添加到属性页,就像您可以在运行时创建按钮并将其添加到窗口一样?我建议您创建一个空白模板并将其链接到应用程序。然后,可以使用创建属性表,然后根据需要向该属性表添加和删除控件 如果你必须使用内存中动态构建的模板,而你无法将资源链接到应用程序,那么你需要这种结构。你是否尝试过“就

据我所见,通常在Win32(我使用的是API,而不是MFC)编程中创建属性表的方式是,每个选项卡页都有一组对话框模板,并用它们制作属性表。我读过关于“在内存中”创建对话框模板的内容,但我不想这样做。如何在运行时以编程方式将控件添加到属性页,就像您可以在运行时创建
按钮并将其添加到窗口一样?

我建议您创建一个空白模板并将其链接到应用程序。然后,可以使用创建属性表,然后根据需要向该属性表添加和删除控件


如果你必须使用内存中动态构建的模板,而你无法将资源链接到应用程序,那么你需要这种结构。

你是否尝试过“就像你可以创建一个
按钮
并在运行时将其添加到窗口一样”?@David请告诉我如何做到这一点!“就像您可以创建一个按钮并在运行时将其添加到窗口一样”需要一个HWND来添加按钮,而我不知道如何获取属性页页面的HWND。如果你能详细解释一下,这就是答案。事实上,为了澄清,我知道如何获取已经存在的属性页的HWND,但我不知道如何在没有对话框模板的情况下首先添加一个,即使我只需要一个空白模板。@James为什么你不能创建一个空白模板并将其链接到你的应用程序?然后,您可以使用CreatePropertySheetPage创建属性表,然后根据需要向该属性表添加和删除控件please@James如果您必须使用内存中动态构建的模板,并且无法将资源链接到应用程序,则需要DLGTEMPLATE结构: