首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将对话框项分组为单个“组”()

将对话框项分组为单个“组”()
EN

Stack Overflow用户
提问于 2012-12-25 14:42:57
回答 1查看 2.2K关注 0票数 0

我想要为更改应用程序的设置创建一个对话框窗口。下面是Adobe的屏幕截图。在使用Spy++之后,我猜:

在右侧,所有控件(按钮、组合式boxes...ect)都属于GroupBox。

对于左侧TreeView控件中的每个类别,有一个相应的GroupBox,它将与此类别相关的所有控件分组。

当用户在不同类别之间进行选择时,它隐藏了一个GroupBox,并显示了另一个GroupBox。

但是在下面的源代码(xxx.rc,资源文件)中,我没有看到任何地方可以指定对话框项的“父”。

即使我使用“资源视图”(不是作为代码查看)打开xxx.rc,我也找不到在其属性页中指定对话框项的父项的任何选项。

我想知道如何将父项(在我的例子中是GroupBox )分配给对话框项,或者将对话框项组分配给.rc文件中的单个组,即当创建对话框项时。(我想我们可以通过修改.rc文件来做到这一点。)

代码语言:javascript
复制
GROUPBOX        "View",IDC_SECTION_VIEW,101,6,228,88
LTEXT           "Default &Layout:",IDC_DEFAULT_LAYOUT_LABEL,107,19,108,9
COMBOBOX        IDC_DEFAULT_LAYOUT,215,17,108,64,CBS_DROPDOWNLIST | WS_TABSTOP
LTEXT           "Default &Zoom:",IDC_DEFAULT_ZOOM_LABEL,107,36,108,9
COMBOBOX        IDC_DEFAULT_ZOOM,215,34,108,149,CBS_DROPDOWN | WS_TABSTOP
CONTROL         "Show the &bookmarks sidebar when available",IDC_DEFAULT_SHOW_TOC,
                "Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,53,216,9
...
...
...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-25 14:49:25

我想知道如何分配一个家长..。

SetParent Windows。您提供控件的HWND和假定的新父级的句柄。

在资源脚本中,控件将是对话框本身的子控件,但在运行时,您可以自由地更改这些控件,并将它们分组到您感兴趣的层次结构中。

您还可以考虑将假定的子组放在单独的对话框模板中,并将其作为“复合控件”--单独实例化,并成为更高级别对话框的子级。

UPD。看看这个简单的项目(C++/ATL):AtlChildDialog。特别是,INITIDIALOG处理程序

代码语言:javascript
复制
ATLVERIFY(m_ChildDialog.Create(m_hWnd, (LPARAM) this));
ATLVERIFY(m_ChildDialog.MoveWindow(50, 50, 200, 150));
m_ChildDialog.m_EditWindow.SetWindowText(_T("Some Text"));
m_ChildDialog.ShowWindow(SW_SHOWNORMAL);
m_ChildDialog.SetFocus();

所有这些都在运行时进行:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14031580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档