【问题标题】:Making Programs With Tabs [closed]使用标签制作程序[关闭]
【发布时间】:2012-08-08 11:57:37
【问题描述】:

有没有办法在没有 MFC 的情况下使用 C++ 创建带有选项卡的程序?以纯 WinAPI 为例。使用属性表或选项卡控件。我不确定 Tab Control 是否是特定于 MFC 的类。

我找不到关于使用属性表或其他任何东西执行此操作的好例子。每个示例都使用 MFC,但我需要一个非 MFC 示例。

有没有办法在没有 MFC 的情况下做到这一点?使用属性表,还是使用选项卡控件?

谢谢。

【问题讨论】:

  • 您要么必须使用 some 库,要么自己编写代码。这些是您的选择。
  • @MahmoudFayez 那么,如何在没有 MFC 的情况下创建如图中的程序?
  • @BoPersson 你能告诉我一个库来创建一个像图片中那样的程序吗? ATL 会是一个不错的选择吗?如果可能的话,我怎么能在 ATL 中做到这一点?有我必须寻找的关键字吗?谢谢。
  • ATL 不是为此而设计的。 ATL 用于 RPC 和 COM。请查看 win32 GDI 库,这里有一个快速教程。 gametutorials.com/gtstore/c-4-win32-tutorials.aspx@BoPersson 我觉得你说得对,如果从头开始他就得实现
  • 这里是另一个 GDI 教程:functionx.com/win32/Lesson06.htm

标签: c++ c tabs propertysheet


【解决方案1】:

这些基本上是你的可能性:

  1. 使用标准的 Win32 属性表,参见this
  2. 利用实现它的 GUI 库;
  3. 创建一个带有选项卡控件的对话框并向其中添加页面(您可以将页面创建为子窗口并自己处理显示/隐藏),但让 Windows 处理对话框消息循环,请参阅this;
  4. 使用标签控件创建一个窗口,并使用this 使其外观和行为类似于对话框。

最后一个提供了最大的灵活性,但也是最难实现的。

【讨论】:

  • 房产证正是他要找的。 MSDN 甚至有a sample。 Visual Studio 附带的资源编辑器可以帮助创建这些属性表页面。它就像创建一个对话框一样简单,除了您必须编写代码才能将其视为属性表。
  • 在我看来,有一种使用 CDialogImpl 的方法。我看到一些旧代码这样做。但是,我无法为“确定”按钮和“取消”按钮添加命令处理程序。所以,我想开始自己做。没有继承 CDialogImpl 3次,没有任何逻辑。那么,您有关于使用 CDialogImpl 完成此任务的任何信息吗?
【解决方案2】:

当然,这是可能的。 MFC 只是 Windows API 的包装器。如果您愿意花更多时间开发“纯”Win32 应用程序,请查看 Tab Control 示例 -Tab Control in Win32

【讨论】:

  • 我看了那个例子,但是因为没有OK和Cancel按钮,我就通过了。我认为属性页默认放置“确定”和“取消”按钮。它不会向您显示按钮,但它们会出现在执行时间中。就像它们在某种头文件中一样,它们会在您的代码运行时出现。
  • 所以,您需要属性表 (msdn.microsoft.com/en-us/library/windows/desktop/…),而不是 Tab 控件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 2021-09-19
  • 2021-10-30
  • 1970-01-01
  • 2022-06-15
相关资源
最近更新 更多