SDK-MFC 備忘録 |
Windows SDKやMFCに関するメモです。
(記載内容について正しいことを保証するものではありません。MSDN等で確認してください)
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));
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);
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));
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);
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);
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);