描画領域の作成(C++)
VCL/RTL の利用(C++) への移動
TCanvas クラスは、VCL における Windows デバイス コンテキストをカプセル化したものです。これは、フォーム、ビジュアル コンテナ(パネルなど)、プリンタ オブジェクト(「印刷(C++)」を参照)のあらゆる描画を処理します。キャンバス オブジェクトを使用すれば、ペン、ブラシ、パレットなどの割り当てを気にする必要はもうありません。割り当ても割り当て解除もすべて自動的に処理されます。
TCanvas には、キャンバスを含んでいるコントロールならどれにでも線、図形、多角形、フォントなどを描画できる基本的なグラフィックス ルーチンが多数用意されています。たとえば、以下に示すボタンのイベント ハンドラでは、フォームの左上隅から中央に線を引き、フォーム上に未加工のテキストを出力しています。
void __fastcall TForm1::Button1Click(TObject *Sender) {
Canvas->Pen->Color = clBlue;
Canvas->MoveTo(10, 10);
Canvas->LineTo(100, 100);
Canvas->Brush->Color = clBtnFace;
Canvas->Font->Name = "Arial";
Canvas->TextOut(Canvas->PenPos.x, Canvas->PenPos.y,
"This is the end of the line");
}
TCanvas オブジェクトを使用すると、Windows グラフィックスでのよくあるミスを防ぐこともできます。たとえば、デバイス コンテキスト、ペン、ブラシなどを描画操作前の値に戻すことができます。TCanvas は、C++Builder で描画が必要な箇所や描画可能な箇所ならどこででも使用され、それによって、グラフィックスの描画が絶対安全でしかも簡単になります。