描画領域の作成(C++)

提供: RAD Studio
移動先: 案内検索

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 で描画が必要な箇所や描画可能な箇所ならどこででも使用され、それによって、グラフィックスの描画が絶対安全でしかも簡単になります。