« ★XPmanコンポ | トップページ | ☆MessageDlgの入力 »

☆グラデーションの描画

GraphUtilユニットの中に縦、横の2種類ですが、グラデーションを描画する手続きを見つけました。

type
  TGradientDirection = (gdHorizontal, gdVertical);

procedure GradientFillCanvas(const ACanvas: TCanvas;
  const AStartColor, AEndColor: TColor; const ARect: TRect;
  const Direction: TGradientDirection);

これを利用すると、ツーバー以外でも自分でバックをグラデーションする?ことができます。

uses
  GraphUtil;

procedure MyDraw(Image: TImage);
var
  Rect: TRect;
begin
  Rect := Image.ClientRect;
  GradientFillCanvas(Image.Canvas,clWhite,clGradientInactiveCaption,Rect,gdVertical);
  SetBkMode(Image.Canvas.Handle, TRANSPARENT);
  Image.Canvas.Font.Color := clBlue;
  Image.Canvas.Font.Style :=[fsBold];
  Image.Canvas.Textout(Rect.Left, Rect.Top, 'グラデーション');
end;

|

« ★XPmanコンポ | トップページ | ☆MessageDlgの入力 »