冗長になりますが、コードを貼っておきます。
procedure TForm1.PaintBox_Solid_Transparent(Sender: TObject);
begin
with TPaintBox(Sender) do
begin
Canvas.Pen.Color := clRed; // ペン色 (赤)
Canvas.Brush.Color := clBlue; // ブラシ色 (青)
Canvas.Brush.Style := bsSolid; // ブラシ (ソリッドブラシ)
SetBkColor(Canvas.Handle, ColorToRGB(clGreen)); // 背景色 (緑)
SetBkMode(Canvas.Handle, TRANSPARENT); // 背景モード (透過)
case Tag of
// 青 (Brush.Color) で塗りつぶされる
0: Canvas.FillRect(ClientRect);
// 赤 (Pen.Color) で枠が描画され、
// 青 (Brush.Color) で塗りつぶされる
1: Canvas.Rectangle(ClientRect);
end;
end;
end;
procedure TForm1.PaintBox_Solid_Opaque(Sender: TObject);
begin
with TPaintBox(Sender) do
begin
Canvas.Pen.Color := clRed; // ペン色 (赤)
Canvas.Brush.Color := clBlue; // ブラシ色 (青)
Canvas.Brush.Style := bsSolid; // ブラシ (ソリッドブラシ)
SetBkColor(Canvas.Handle, ColorToRGB(clGreen)); // 背景色 (緑)
SetBkMode(Canvas.Handle, OPAQUE); // 背景モード (透過なし)
case Tag of
// 青 (Brush.Color) で塗りつぶされる
0: Canvas.FillRect(ClientRect);
// 赤 (Pen.Color) で枠が描画され、
// 青 (Brush.Color) で塗りつぶされる
1: Canvas.Rectangle(ClientRect);
end;
end;
end;
procedure TForm1.PaintBox_Hatch_Transparent(Sender: TObject);
begin
with TPaintBox(Sender) do
begin
Canvas.Pen.Color := clRed; // ペン色 (赤)
Canvas.Brush.Color := clBlue; // ブラシ色 (青)
Canvas.Brush.Style := bsDiagCross; // ブラシ (ハッチブラシ)
SetBkColor(Canvas.Handle, ColorToRGB(clGreen)); // 背景色 (緑)
SetBkMode(Canvas.Handle, TRANSPARENT); // 背景モード (透過)
case Tag of
// 青 (Brush.Color) でハッチが描画され、
// 緑 (SetBkColor) の背景色になる。
0: Canvas.FillRect(ClientRect);
// 赤 (Pen.Color) で枠が描画され、
// 青 (Brush.Color) でハッチが描画され、
// 背景は透過する。
1: Canvas.Rectangle(ClientRect);
end;
end;
end;
procedure TForm1.PaintBox_Hatch_Opaque(Sender: TObject);
begin
with TPaintBox(Sender) do
begin
Canvas.Pen.Color := clRed; // ペン色 (赤)
Canvas.Brush.Color := clBlue; // ブラシ色 (青)
Canvas.Brush.Style := bsDiagCross; // ブラシ (ハッチブラシ)
SetBkColor(Canvas.Handle, ColorToRGB(clGreen)); // 背景色 (緑)
SetBkMode(Canvas.Handle, OPAQUE); // 背景モード (透過なし)
case Tag of
// 青 (Brush.Color) でハッチが描画され、
// 緑 (SetBkColor) の背景色になる。
0: Canvas.FillRect(ClientRect);
// 赤(Pen.Color) で枠が描画され、
// 青 (Brush.Color) でハッチが描画され
// 緑 (SetBkColor) の背景色になる。
1: Canvas.Rectangle(ClientRect);
end;
end;
end;
ペン色 / ブラシ色 / 背景色 を区別すれば混乱しにくいのではないかと思います。
新アプリ「freemlトーク」で気軽に会話を楽しもう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=jCUuF
------------------------------------------------------[freeml byGMO]--