【问题标题】:C++ win32 GUI programming, the shortest path? [closed]C++ win32 GUI编程,最短路径? [关闭]
【发布时间】:2010-09-17 18:34:19
【问题描述】:

你知道学习 C++ win32(不是 .Net/MFC/ATL/Wx/Qt..)GUI 编程的好方法吗? 一本书,一个教程,一个现有的项目,最好是带有实际示例的动手方法。 我不是初学者,所以我不介意“高级”起点..

非常感谢。

【问题讨论】:

  • 到目前为止,一致!谈论获得问题的明确直接答案!
  • 是的,请问任何年龄大到可以记住的人。最后一次修订是在 1998 年。
  • 我很困惑为什么大家都推荐“Programming Windows”。它甚至不包含任何 C++!
  • 这是您尝试学习的 API。那本书最适合它。它使用的 C 是 C++ 的完整子集。

标签: c++ user-interface winapi


【解决方案1】:

Charles Petzolds 的书是最好的。

Programming Windows

【讨论】:

  • "Programming Windows" 不包含 C++ 示例。这是一本严格的 C/Win32 指南。
  • 如果你能学会用C来做,而且你懂C++,那跳跃真的很简单。
  • 它是 C - 但这就是 Win32 SDK 的本质,一个 C 风格的 API。任何使用 C++ 的东西都开始成为一个“框架”(原始 API 上的垃圾)——OP 说他不想要。然而,值得指出的是......
【解决方案2】:

Petzold 的编程窗口,如果你能找到副本的话。 所有 win32 gui 的东西仍然在 MFC/Winforms 等下面。 http://www.charlespetzold.com/pw5/index.html

edit - 正如有人提到的,win32 api 纯粹是“C”,就像 Petzold 中的所有示例一样。如果您从 C++ 中调用它们,这并不重要,只是您必须理解常规的 C 字符串。

【讨论】:

    【解决方案3】:

    所有 Win32 编程(包括但不限于 GUI 主题)的圣经是Petzold's book

    确保您获得version 4 或更高版本,因为以前的版本是 16 位!

    【讨论】:

    • 那么3之前的版本不覆盖win32?
    • 咳咳,即版本 4 或更高版本。不,在此之前没有 Win32。请参阅我编辑的答案。
    【解决方案4】:

    我从Iczelion tutorials 学到了很多关于win32 GUI 的知识。它们基本上是用于 win32 汇编的,所以源代码示例是在 MASM 中而不是 C++ 中,但是 Windows GUI 的机制描述得很好。而且 API 本身并不依赖于语言。

    【讨论】:

      【解决方案5】:

      #Efnet WinProg 频道有一个不错的教程和常见问题解答。不过,这不是一个严格的 C++ 指南。

      http://www.winprog.org/tutorial/

      【讨论】:

        【解决方案6】:

        没有“C++ Win32 GUI 编程”之类的东西。 C++ 用于您看到的许多包装库(想到 QT 和 MFC)。但是,纯粹的 Win32 编程在技术上完全是过程性的,如果不是在概念上的话。它从 Pascal 开始,然后在 C 中重铸,从那以后就再也没有出现过。

        【讨论】:

        • TITCR。 OP的问题是荒谬的,你不能用C++编写win32,因为win32是一个C API。
        • 这是大错特错。 Win32 是非常面向对象和事件驱动的,而不是程序化的。到处都有子类型,多态,代码重用,你说的。 (而且我不只是在谈论使用 COM 实现的 API,尽管其中有很多)
        • 这就是我所说的“如果不在概念中”的意思。
        【解决方案7】:

        您可能还想看看 WTL 源代码。

        【讨论】:

          【解决方案8】:

          我想我是通过学习 VC6 的帮助文件才学会的。 :-) 我发现 VC8 的文件对 Win32 编程的帮助要小得多,因为它们充斥着 MFC、COM、WinCE 和其他你不能总是过滤掉的东西。

          (我知道这个答案没什么帮助,我只是说是如何学习的。)

          【讨论】:

            【解决方案9】:
            • Petzold

            • MSDN

            • 高级 Win32 api 新闻组 comp.os.ms-windows.programmer.win32(未记录的 api 和任何 Win32 api 源代码)

            【讨论】:

              【解决方案10】:

              这里是一些online Win32 tutorials 的列表,这里是指向WIN32 SDK 帮助文件的链接列表。

              我个人喜欢 Winhelp 格式的 Borland Win32 SDK(来自上面的链接),因为它涵盖了 Win32 的所有基础知识,并且比类似MSDN

              一旦您知道自己在做什么,MSDN 就很棒,但我怀疑它可能会让新手感到困惑。

              【讨论】:

                【解决方案11】:

                为什么是 C++ 为什么不直接使用 C 和 WIN32?它变得如此简单...... Petzold 是您的答案。

                【讨论】:

                  【解决方案12】:

                  theForger's Win32 API Programming Tutorial 将自己描述为“尝试让您尽可能快速、清晰地开始使用 Win32 API 进行开发”,并且它的项目和解决方案是为 Visual C++ 编写的。它也可以在那里以 PDF 格式提供,只有 108 页长。

                  【讨论】:

                    【解决方案13】:

                    我从 Forger 的 winprog 教程中获得了我的 Win32 经验。我花了将近一年的时间才掌握了这一点,让我告诉你,当时我不是 C 程序员,但现在我是。另外,在阅读它们的同时,购买 Ritchie 和 Kernighan II 版的 ANSI C 编程副本。

                    首先使用 Visual C Express。我现在使用 Windows SDK 终端编写我的 Win32/C 程序。

                    【讨论】:

                      猜你喜欢
                      • 2014-01-16
                      • 1970-01-01
                      • 1970-01-01
                      • 2015-04-24
                      • 2010-11-22
                      • 2011-06-30
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多