next up previous contents index
: レイアウト : ダイアログベースの図形を描こう : ピクチャコントロールへの描画の基礎知識   目次   索引

ピクチャコントロールへの文字の表示とサイズの変更

描画と同じように,
CWnd$ \ast$h = GetDlgItem(IDC_PICTURE);
CDC$ \ast$ pDC=h-$ >$GetDC();
でピクチャコントロールのデバイスコンテキストを取得する。 文字をそのまま書くには,
pDC-$ >$ TextOut(x座標,y座標,"表示したい文字"); でx座標,y座標で与えられた場所に文字を表示できる。問題は,表示する文字の大きさを変更したり,スタイルを変更したりする場合である。そこで,高さ30ポイントで色は赤の文字"直線"を表示する方法を示す。
CFont font;
font.CreateFont(30,0,0,0,FW_HEAVY,FALSE,FALSE,FALSE,
SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DRAFT_QUALITY,DEFAULT_PITCH,"MS Pゴシック");
CFont$ \ast$ oldfont=pDC-$ >$SelectObject(&font);
pDC-$ >$SetTextColor(RGB(255,0,0));
pDC-$ >$TextOut(100,100,"直線");
// ペンを戻す
pDC-$ >$SelectObject(oldp); // ペンを戻す
pDC-$ >$SelectObject(font); // フォントを戻す
h-$ >$ReleaseDC(pDC);
これでは,ちょっと長すぎて使う気がしないという人には,次の方法を薦める。
CFont *myFont;
myFont = new CFont;
myFont-$ >$CreatePointFont(200, _T("MS Pゴシック") );
pDC-$ >$SelectObject(myFont);
pDC-$ >$SetTextColor(RGB(255,0,0));
pDC-$ >$TextOut(100,100,"直線");
delete myFont;



Administrator 平成16年7月8日