如何在基于 MFC 对话框的应用程序中使用 CTabCtrl?

2024-01-19

我需要做一些我期望很简单的事情 - 创建一个有 2 个选项卡的选项卡控件,这意味着我的应用程序有 2 种操作模式。当用户单击 Tab1 时,他会看到一些按钮和文本框,当他单击 Tab2 时,他会看到一些其他输入法。我注意到 MFC 中有一个 CTabCtrl 类用于添加选项卡。 然而,一旦我使用 UI 设计器添加了选项卡 ctrl,我就无法使用属性窗口指定有多少个选项卡。在网上搜索,我找到了一些例子,但所有这些都需要你derive从 CtabCtrl ,创建 2 个或更多child对话框等并编写您自己的自定义类。我的问题是,既然我想做一些如此基本的事情,为什么我不能使用熟悉的添加事件处理程序/添加成员变量向导来完成它,然后处理我的应用程序类中的所有其他内容?当然,默认的 CTabCtrl 类can做一些有用的事情而不需要从中派生?


忘记 CTabCtrl 并使用 CMFCTabCtrl,它更容易使用(假设您正在使用 VS2008 SP1)。

如果做不到这一点,您似乎误解了选项卡控件的工作原理。它仅在顶部提供“选项卡栏”,并在用户单击另一个选项卡栏时发送消息。它不为您提供可以放置控件的“选项卡画布”。显示和隐藏选项卡上的控件是程序员需要处理的事情。资源编辑器在那里提供很少的支持。就像斯图尔特所说,最常见的工作方式是在选项卡中添加子对话框,并隐藏除当前选项卡之外的所有子对话框。

您不需要从 CTabCtrl 派生,也可以在作为 CTabCtrl 父级的窗口中实现切换行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在基于 MFC 对话框的应用程序中使用 CTabCtrl? 的相关文章

  • 为什么选项卡页正文不使用 .NET 选项卡控件进行更新?

    我在使用 C Visual Studio 2010 中的 NET TabControl 时遇到一个奇怪的问题 启动 Windows 窗体应用程序 添加一个选项卡控件和一个按钮 向两个选项卡页添加两个不同的标签 以便您可以区分它们 该按钮的作
  • 调试器忽略动态加载的 DLL 中的错误

    我有一个与自编码 DLL 的调试相关的非常奇怪的问题 我有一个 MFC 驱动的基于对话框的应用程序 几个静态链接的项目和几个在运行时加载的 DLL 项目 我在调试中构建解决方案 运行应用程序 然后我可以轻松调试这些 DLL 项目 现在问题来
  • 如何隐藏其他选项卡的内容并仅显示所选选项卡的内容

    当我单击特定选项卡时 其他选项卡的内容应该隐藏 但它并没有隐藏 这是我所有的代码 function showStuff id if document getElementById id style display block documen
  • Perl Tk 模块有哪些缺点?

    与在 Perl 中创建 GUI 的其他解决方案相比 Tk 模块有哪些缺点 我最近浏览了 Perl 的各种 gui 模块 这是我的总结 免责声明 最终我发现现有模块都不能满足我的需求 所以我开始编写自己的 gui 工具包 Tk 工作起来很不错
  • 如何将tchar指针转换为char指针

    我想将 tchar 转换为 char 这可能吗 如果是的话该怎么做 我使用unicode设置 A TCHAR要么是一个普通的char or a wchar t取决于您的项目的设置 如果是后者 您需要使用WideCharToMultiByte
  • JavaFX 中具有自定义内容的 ListView

    How i can make custom ListView with JavaFx for my app I need HBox with image and 2 Labels for each line listView 您可以通过查看
  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 有没有办法将应用程序覆盖在全屏程序上?

    我希望开发一个应用程序 它本质上是一个计时器窗口 它始终显示在任何其他应用程序前面的屏幕上 并且在聚焦其他窗口时永远不会落入背景 一个例子是 当我玩全屏游戏时 我希望这个计时器覆盖游戏 并且当我单击窗口上的计时器按钮时 它不会关闭游戏 我有
  • 与保留模式 GUI 相比,使用立即模式 GUI 对性能有何影响?

    我目前正在开发一个标准的 Windows 桌面应用程序 标准意味着没有花哨的东西 只是按钮 文本 滑块等 在研究了一些 GUI 框架并被拒绝后 我决定自己编写一个 GUI 框架他们全部 由于这是一个业余爱好项目 我也愿意尝试 并决定将 GU
  • 是否可以将 CMFCToolBar 添加到对话框中?

    我刚刚尝试了将 CToolbar 添加到新 CMFCToolBar 上的对话框的标准方法 但这不起作用 在我深入研究新的实现之前 我想知道它是否真的可行 我不确定你所说的 标准方式 是什么意思 但你当然可以以编程方式做到这一点 In MyD
  • 设置 SWT Shell 的默认字体

    有没有办法为整个 Shell 设置默认字体 以便任何新控件都将使用相同的字体 看来现在我必须为我创建的每个控件设置字体 这导致了太多的冗余 默认使用的字体由平台选择 请参阅中的其他信息 类字体 SWT 标准小部件工具包 http book
  • 物化模式覆盖整个页面(模式弹出窗口未带到前台)

    由于保密原因 我无法上传 Web UI 的屏幕截图 物化模态应该表现得像here http materializecss com modals html 但不幸的是 我的网站发生的情况是 包括模式在内的整个页面都是 深色背景 的一部分 模式
  • 仅使用 FPC 的 GUI

    我想知道如何在不使用Delphi语言 Object Pascsl 的情况下 仅使用安装了Lazarus的FPC Pascal 来开发GUI应用程序 32位 谢谢 直接使用小部件集 看看例如unix 的 packages gtk2 中的示例
  • 我想制作具有3D效果的幻灯片菜单,如下图所示

    我可以使用此代码制作滑块 但我不知道如何制作3D import android os Bundle import android support v4 app Fragment import android support v7 app A
  • R Shiny Dashboard 在初始化时不会在 sidebarMenu 内加载渲染的 UI

    我正在尝试根据用户希望如何提供输入来生成动态的 UI 元素 为了简单起见 我使用闪亮的仪表板 但我遇到了侧边栏菜单的问题 以前 当我将静态 UI 元素直接放入 sidebarMenu 中时 没有任何问题 但是当尝试将动态 UI 元素放入 s
  • 从 WPF 窗口中删除图标

    我可以使用 WinApi 从 WPF 窗口中删除窗口图标 但是当我仅运行 WPF 项目的可执行文件时 我会在应用程序窗口中再次获得该图标 如何删除该图标 From WPF教程 http www wpftutorial net RemoveI
  • Jquery 选项卡 - 使用外部 URL 链接

    我正在使用 Jquery UI 选项卡 并且有一个问题 div ul li a href tab 1 span My First Tab span a li li a href tab 2 span My Second Tab span a
  • 在 UWP 应用程序中制作向导的正确方法?

    我正在尝试为 UWP 应用程序实现启动向导 向导最好在一个不可调整大小且位于屏幕中央的新窗口中打开 我已经尝试过使用LaunchUriForResultsAsync https learn microsoft com en us uwp a
  • 在堆栈视图内的 Uilabel 之间创建垂直线 [重复]

    这个问题在这里已经有答案了 我想在代码中创建一个带有自定义标头的 UICollectionView 因此 我创建了 UICollectionViewCell 的子类来描述我的自定义标头 我想在标题中以水平线显示五个标签 因此 我创建了五个标

随机推荐