使用C++ Builder开发DirectX应用程序 by Ralph 翻译：Pigprince
介绍 这是一个简要的指南，可以指导你如何在BCB中使用DirectX SDK。 不过我看了之后觉得如果这么做是不是有点太高难了点吧？请有'痔'于在BCB中自己做WinMain和WinProc的观之。 有关法律责任 本文和所有本文的相关部分的版权归Ralph所有，授权Pigprince中文版版权所有， 授权您可以通过电子手段(二进制形式)分发(e-mail、邮寄或存储)本文档的全部或部分， 在没有对本文做任何改变的情况下授权容许打印拷贝。建议使用最新版本。 所有的信用和版权声明被保留，如果您要在其它站点加一个指向本文的连接请通知 Ralph（E文版）或Pigprince（中文版）取得授权。 需要拥有其它发布形式权利的，如在公司、组织、商业产品如：书籍、报刊杂志、CD-ROM、 应用软件等中发布的， 请尊重作者的权利（署名权，取得报酬权等）。 本文没有任何明确的或含蓄的表达说明本文是完全正确的，对于应用本文内容所产生的任何结果，本人概不负责。 如果您在开发较高预算的工程，请您不要只依赖于本文的一家之言。 所有的名称，商标，版权等属于该名称，商标，版权等的法定所有者。 这是一个简要的指南，可以指导你如何在BCB中使用DirectX SDK。 我在这里假定你的BCB的安装路径在：C:\Borland\CBuilder\，DirectX SDK在C:\dx5sdk\
设置 Borland C++ Builder
#include 这是许多人遇到的麻烦， Borland在BCB的\Include路径下提供了DirectX的头文件， 如果只是把c:\dx5sdk\sdk\inc\加到BCB的include路径下，它会进行如下步骤： 查找 C:\Borland\Cbuilder\Include\路径 发现ddraw.h 头文件，使用它； 除了他发现的是DirectX3的头文件之外，倒是没有什么坏处，但这毕竟不是什么好事。 为了避免BCB这样做，我建议只是简单的把DirectX SDK的\inc路径下的文件都copy到BCB的\Include路径下， 并且覆盖掉原有的DirectX头文件，相信我，这是在所有的解决办法中最好的一种。 库文件 可能在随DirectX发放的Borland编译器使用的库文件有一些毛病，我建议你在这里下载这个文件， 在BCB的\lib路径下解压，一切OK！
关于工程
千万不要错误的使用模板创建工程，来创建一个程序，你可能不久就会明白了什么叫做“悲惨世界”， 明智的解决办法是进行如下四个简单的步骤： 创建一个控制台程序(console application); 到Options | Project菜单选择Linker页面，然后将Console设置为Win32 GUI， 写WinMain() 函数和 WinProc() 函数： 写其它的部分。 这里有一个例子。
这就完了吗？
很不幸，没有！BCB使用一种老方式处理"define"， 所以在每一个DircetX应用程序的define部分都要添加如下代码： #if defined( __BORLANDC__ ) && defined( __WIN32__ ) #define _WIN32 #endif 现在差不多了。
其它问题
如果编译时还有问题，再试一试加入如下代码： #define WIN32 #define WIN95