【问题标题】:Where to start with Direct2d?从哪里开始使用 Direct2d?
【发布时间】:2012-12-03 17:30:51
【问题描述】:

有兴趣学习 Direct2d 以创建 Windows 8 应用程序,但经过 2 小时的研究后,我完全糊涂了。像这样的示例 (Creating a Simple Direct2D Application) 似乎假设您知道 HWNDHRESULT 是什么,以及 Windows API 的一般工作原理。

我的问题是:您是否需要了解 Win API、COM、OLE 和所有其他 Windows 知识才能很好地掌握 Direct2d/3d?

所有其他准系统教程都假设您知道所有这些东西,而我真的不知道从哪里开始。 VS 2012中的启动D2D项目给你一堆文件,但是没有mainWinMain...这个程序是怎么启动的?

【问题讨论】:

    标签: windows windows-8 direct2d


    【解决方案1】:

    API 是基于 COM 的,因此您必须熟悉 COM 基础知识才能继续。您实际上不需要从一开始就知道很多,也许只是具有引用计数、实例化和实现接口的 COM 接口概念。它可能比看起来更简单。 Windnows 中的 UI 窗口有句柄,所以 HWND 绝对是要理解的东西。

    您所指的示例实际上具有 WinMain。看看完整的教程代码,你会发现it there

    #include "DemoApp.h"
    
    // Provides the application entry point.
    int WINAPI WinMain(
        HINSTANCE /* hInstance */,
    

    【讨论】:

      【解决方案2】:

      更多材料可在 Pluralsight 上获得,其中 Kenny Kerr 提供了一系列有关 Direct2D 基础知识的教程。这是迄今为止我见过的对 Direct2D 的最佳报道。

      在处理 Win32 编程时,HWND 和 HRESULT 是常见的类型。 Kerr 确实涵盖了一些有关为 Direct2D 演示启动和运行 Win32 桌面应用程序和窗口的基础知识,但您最好阅读 Charles Petzold 的 Programming Windows 书籍(第 5 版),全面涵盖 Win32 的所有内容。

      Kerr 还有一个关于“COM 基础”的两部分教程,值得一试。我一直对 COM 技术感到困惑,但他的课程消除了许多神秘和复杂性。

      请注意,Pluralsight 是一个收费网站,但非常值得订阅。您可以查看免费试用选项,看看那里的课程材料是否适合您。

      Dirct2D Fundamentals

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-12
        • 1970-01-01
        • 1970-01-01
        • 2011-01-04
        • 2012-05-22
        • 2010-09-30
        相关资源
        最近更新 更多