ソフト開発塾 |
OnDrawに注目
/////////////////////////////////////////////////////////////
// CC0105CView クラスの描画
void CC0105CView::OnDraw(CDC* pDC)
{
CC0105CDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
}再描画は必要なとき
OnDrawが呼び出される。このままコンパイル実行すると、次の結果になります。
次に、TextOutを使用して、文字を表示します。
/////////////////////////////////////////////////////////////
// CC0105CView クラスの描画
void CC0105CView::OnDraw(CDC* pDC)
{
CC0105CDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
pDC->TextOut(0,0,"TEST C0105");
}ここで、使用しているTextOutは
APIではなく、CDCのクラスです。
pDCがポインタで宣言されているため
「.」ではなく「->」になっている。コンパイル実行すると、次の結果になります。
文字が、表示されたことを確認する。
グラフィック関係を表示してみよう。
線/円
MoveTo LineTo Ellipse Arc
POINT CPoint RECT CRect
pDC->Ellipse(100,100,350,350);
pDC->MoveTo(0,0);
pDC->LineTo(200,200);
POINT pt;
pt.x=400;
pt.y=0;
pDC->LineTo(pt);
CPoint pt2;
pt.x=600;
pt.y=200;
pDC->LineTo(pt2);
CRect rect;
rect.left=100;
rect.right=200;
rect.top=0;
rect.bottom=50;
pDC->Ellipse(rect);
RECT rect2;
rect2.left=100;
rect2.right=200;
rect2.top=50;
rect2.bottom=100;
pDC->Ellipse(&rect2);
CPointの特殊な使用方法
pt2.x=600;
pt2.y=000;
pDC->MoveTo(pt2);
pt.x=15;
pt.y=30;
for(int i=0;i<10;i++){
pt2+=pt;
pDC->LineTo(pt2);
pt.x=(-pt.x);
}
超初心者コース 前ページ トップページ ソフト開発塾 リンク集 関連リンク