ペン スタイルの変更

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

グラフィックとマルチメディアの処理:インデックス への移動

ペンの Style プロパティを使用すると、実線、破線、点線などを指定できます。

ペンのプロパティ設定は、異なるコントロールが同じイベントハンドラを使ってイベントを処理する事例の典型的な例です。実際にどのコントロールがイベントを受け取ったのかを確認するには、Sender パラメータをチェックします。

ツールバーにある 6 つのボタンに対応した共通のクリックイベントハンドラを作成するには:

  1. 6 つのペンスタイルボタンをすべて選択して、オブジェクト インスペクタ > イベント > OnClick イベント を選択し、ハンドラ列に「SetPenStyle」を入力します。コード エディタでは、SetPenStyle という空のクリックイベントハンドラを生成し、6 種類すべてのボタンの OnClick イベントに結び付けます。
  2. Sender の値に応じてペンのスタイルを設定するコードを、クリックイベントハンドラ内に記述します。Sender はクリックイベントを送信したコントロールを示しています。
 procedure TForm1.SetPenStyle(Sender: TObject);
 begin
 with Canvas.Pen do
 begin
 if Sender = SolidPen then Style := psSolid
 else if Sender = DashPen then Style := psDash
 else if Sender = DotPen then Style := psDot
 else if Sender = DashDotPen then Style := psDashDot
 else if Sender = DashDotDotPen then Style := psDashDotDot
 else if Sender = ClearPen then Style := psClear;
 end;
 end;
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender == SolidPen)
     Canvas->Pen->Style = psSolid;
   else if (Sender == DashPen)
     Canvas->Pen->Style = psDash;
   else if (Sender == DotPen)
     Canvas->Pen->Style = psDot;
   else if (Sender == DashDotPen)
     Canvas->Pen->Style = psDashDot;
   else if (Sender == DashDotDotPen)
     Canvas->Pen->Style = psDashDotDot;
 '  else if (Sender == ClearPen)
     Canvas->Pen->Style = psClear;
 }
 void __fastcall TForm1::SetPenStyle(TObject *Sender)
 {
   if (Sender->InheritsFrom (__classid(TSpeedButton))
     Canvas->Pen->Style = (TPenStyle) ((TSpeedButton *)Sender)->Tag;
 }


関連項目