VC++でGDI+ そにょ1 〜準備〜

NativeC++でガリガリ書きたい方のために、これまでにGDI+で遊んで得たノウハウを少し書き残そう。手取り足取りな解説も途中まで書いてみたが、リファレンスが充実しているのでいらないという結論。ある程度の使い方を知った上で一歩踏み込んだ内容についてだけ書く。
ゲームの描画用に勉強していたので主に画像の読み込みや表示が中心になる。

環境

Windows XP
VisualStudio2005 Professional Edition*1

GDI+のリファレンス

GDI+ Reference
http://msdn2.microsoft.com/en-us/library/ms533799.aspx


英語版MSDNのみ。メジャーなクラスやメソッドはサンプル等で非常にわかりやすいが、マイナーなものはわかりにくい印象。日本語リファレンスは.NET Frameworkで利用されているVBやVC#のものしかない。

GDI+のインクルード

#include <gdiplus.h>
#pragma comment(lib, "GdiPlus.lib")
using namespace Gdiplus;

ヘッダファイルの場所は

C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\GdiPlus.h

GDI+の終了と開始

WinMain関数の最初でGdiplusStartup、最後で(もちろんreturnする前に)GdiplusShutdown。2つの変数はいじることはないので気にしなくて良い。

INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT){

    GdiplusStartupInput gdiSI;
    ULONG_PTR gdiToken;

    GdiplusStartup(&gdiToken, &gdiSI, NULL);

    // 省略

    GdiplusShutdown(gdiToken);
    
    return (INT)msg.wParam;
}

*1:ExpressEditionの場合はPlatformSDKをインストールする。