OrangeMaker_logo
memo アイコン SDK-MFC 備忘録

Windows SDKやMFCに関するメモです。
(記載内容について正しいことを保証するものではありません。MSDN等で確認してください)

CDrawingManagerクラスについて

2010/9/25 作成

futurePackにCDrawingManagerクラスという描画に関するヘルパークラスがあります。 futurePackで導入されたコンポーネントの描画で使用されています。
このクラスは単独でも使用可能な構成になっており結構便利に関数がそろっていますが、MSDNの記述はそっけない内容です。
まあ、ソースを見ろということかもしれませんが、動作確認やソースで確認した内容をメモしておきます。

使い方は、コンストラクタの引数にCDCオブジェクトを渡してインスタンスを生成したのちメンバ関数を呼び出すスタイルになります。

1)DrawEllipse()

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//DrawEllipse
CRect r(pos, size);
dm.DrawEllipse(&r, RGB(255, 0, 0), RGB(0, 255, 0));
		
DM DrawEllipse

2)DrawGradientRing

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//DrawGradientRing
CRect r(pos, size);
dm.DrawGradientRing(r, RGB(255, 0, 0), RGB(0, 255, 0), RGB(0, 0, 255), 90, 20); 
		
DrawGradientRing

3)DrawRect

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//DrawRect
CRect r(pos, size);
dm.DrawRect(r, RGB(255, 0, 0), RGB(0, 255, 0));
		
DrawRect

4)Fill4ColorsGradient

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//Fill4ColorsGradient
CRect r(pos, size);
dm.Fill4ColorsGradient(r, RGB(255, 0, 0), RGB(0, 255, 0), RGB(0, 0, 255), RGB(0, 255, 255), 0, 50);
		
Fill4ColorsGradient

5)FillGradient

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//FillGradient
CRect r(pos, size);
dm.FillGradient(r, RGB(255, 0, 0), RGB(0, 255, 0), 1, 0, 0);
		
FillGradient

6)FillGradient2

CPaintDC dc(this); // 描画のデバイス コンテキスト
CSize size(100, 50);
CPoint pos(10, 10);

CDrawingManager dm(dc);
//FillGradient2
CRect r(pos, size);
dm.FillGradient2(r, RGB(255, 0, 0), RGB(0, 255, 0), 45);
		
FillGradient2
まだほかにもたくさんの便利そうな関数はありますが、とりあえずここまで。。