2012-12-16 50 views
2

有兴趣学习Direct2d创建Windows 8应用程序,但经过2个小时的研究后,我感到非常困惑。像这样的样本(Creating a Simple Direct2D Application)似乎假设你知道什么是HWNDHRESULT,以及Windows API如何工作。从哪里开始使用Direct2d?

我的问题是这样的:您是否需要了解Win API,COM​​,OLE以及所有这些其他Windows的东西以便更好地掌握Direct2d/3d?

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

回答

2

的API是基于COM的,所以你必须要熟悉COM基础继续前进。实际上,你不需要从一开始就知道很多,也许只是COM接口的概念与引用计数,实例化和实现一个接口。它可能比看起来更简单。 Windnows中的UI窗口有句柄,所以HWND肯定是要理解的。

您提到的示例实际上有WinMain。看看全教程代码,你会发现it there

#include "DemoApp.h" 

// Provides the application entry point. 
int WINAPI WinMain(
    HINSTANCE /* hInstance */, 
1

而且材料可以用Pluralsight其中肯尼克尔对Direct2D的基本面一系列教程。这是迄今为止我所见过的Direct2D的最佳覆盖范围。 Win32编程打交道时

HWND和HRESULT是常见的类型。 Kerr确实涵盖了获取Win32桌面应用程序的一些基本知识,并为Direct2D演示启动并运行,但最好由Charles Petzold的编程Windows书(第5版)提供,以全面介绍Win32的所有内容。

Kerr还有一个关于'COM基础知识'的两部分教程,值得一读。我一直对COM技术感到困惑,但他的课程解除了很多神秘和复杂性。

注意Pluralsight是一个收费网站,但值得认购。您可以查看免费试用版选项,查看该课程是否适合您。

Dirct2D Fundamentals