グラフィック オブジェクト
Windows がデバイス コンテキストで使用するさまざまな描画ツールが用意されています。 これは、塗りつぶしの内部に描画の行にペン、テキストを描画するために、ブラシ、フォントを使用します。 MFC は Windows のペイント ツールと同等のグラフィック オブジェクト クラスを提供します。 次の表は、使用できるクラスおよび Windows のグラフィック デバイス インターフェイス ((GDI) の同等のハンドルの型を示します。
注意
GDI+ は Windows XP に含まれており、Windows NT 用に再頒布可能として使用して 4.0 SP6、Windows 2000、Windows 98、および Windows ME。最新の再頒布可能をダウンロードするには、参照してください https://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm。詳細については、MSDN の" GDI+ SDK を参照します: https://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/GDIPlus/GDIPlus.asp。
ここでは、これらのグラフィック オブジェクト クラスの使用方法を説明する:
Windows GDI オブジェクトのクラス
[クラス] |
ウィンドウ ハンドルの型 |
---|---|
HPEN |
|
HBRUSH |
|
HFONT |
|
HBITMAP |
|
HPALETTE |
|
HRGN |
注意
クラス CImage は拡張されたビットマップをサポートします。
クラス ライブラリの各グラフィック オブジェクト クラスに割り当て、適切な作成関数と初期化しなければならない CreatePenなど、そのクラスのグラフィック オブジェクトを作成するコンストラクターがあります。
クラス ライブラリの各グラフィック オブジェクト クラスに関連付けられたウィンドウ ハンドルへの MFC オブジェクトをキャストするキャスト演算子があります。 結果のハンドルは関連オブジェクトをデタッチするまで有効です。 ハンドルを切り離しのオブジェクトの デタッチ メンバー関数を使用します。
次のコードは、ウィンドウ ハンドルへの CPen オブジェクトをキャストします:
CPen myPen;
myPen.CreatePen(PS_COSMETIC, 1, RGB(255,255,0));
HPEN hMyPen = (HPEN)myPen;
グラフィック オブジェクトをデバイス コンテキストに作成するには
スタック フレームのグラフィック オブジェクトを定義します。 CreatePenなどの型固有の作成関数オブジェクトを、初期化してください。 また、コンストラクター オブジェクトを初期化してください。 コード例を紹介しています。二つ目の一段と正常な式を作成の説明を参照してください。
以前に選択されていた古いグラフィック オブジェクトを格納する現在のデバイス コンテキストにオブジェクトを選択します。
現在のグラフィック オブジェクトに応じて、状態を復元するデバイス コンテキストに再度古いグラフィック オブジェクトを選択します。
スコープが終了するとフレーム割り当てられたグラフィック オブジェクトが自動的に削除されるようにします。
注意
グラフィック オブジェクトを繰り返し使用する場合は、必要になるたびに一度割り当て、デバイス コンテキストに選択できます。不要になったときに、このようなオブジェクトを削除してください。