在BCB6中编译GDI+程序   
    
  1.)   在BCB6中已自带了ghiplus.h文件,故只需要生成gdiplus.lib文件就可以:   
          在命令行下运行implib   gdiplus.lib   gdiplus.dll。(如果ghiplus.dll不在当前文件夹下,注意写完整路径)   
    
  2.)   在工程的编译选项中加入STRICT条件编译:   
          Project-->Options-->Directories/Conditionals-->Condtionals-->点击旁边的"..."按钮-->输入STRICT,然后Add。

 

  3.)   在工程中加入Gdiplus.lib:   
          Project-->Add   To   Project-->找到Gdiplus.lib添加进来。   
    
  4.)   在工程的.h文件中包含所需的头文件,注意先后顺序:   

#include   "math.hpp"   
           #include   <algorithm>   
           using   std::min;   
           using   std::max;   
           #include   "gdiplus.h"   
           using   namespace   Gdiplus;


    
  5.)   为避免编译时产生的Warning,可以在.cpp文件头部加入:   
    

#pragma   warn   -inl   
           #pragma   warn   -8022


    
  6.)   在单元文件的.h中添加以下内容:   

private: //   User   declarations   
             ULONG_PTR   GdiplusToken;   
             Gdiplus::GdiplusStartupInput   GdiplusStartupInput;   
           public: //   User   declarations   
             __fastcall   TMainForm(TComponent*   Owner);   
             __fastcall   ~TMainForm(void);


    
  7.)   在单元文件的.cpp中添加:   

//---------------------------------------------------------------------------   
           __fastcall   TMainForm::TMainForm(TComponent*   Owner)   
                   :   TForm(Owner)   
           {   
                   GdiplusStartup(&GdiplusToken,   &GdiplusStartupInput,   NULL);   //   初始化GDI+   
           }   
           //---------------------------------------------------------------------------   
           __fastcall   TMainForm::~TMainForm(void)   
           {   
                   GdiplusShutdown(GdiplusToken);   //   关闭GDI+   
           }



  8.) 编译错误
[C++ Error] GdiplusGraphics.h(34): E2015 Ambiguity between 'Gdiplus::Graphics::Graphics(void *)' and 'Gdiplus::Graphics::Graphics(void *,int)'
[C++ Error] MainFormUnit.h(37): E2303 Type name expected
[C++ Error] MainFormUnit.cpp(53): E2045 Destructor name must match the class name
[C++ Error] MainFormUnit.cpp(54): E2171 Body has already been defined for function '_fastcall TForm1::~TForm1()'