« ☆ListViewのヘッダーの色を変える。 | トップページ | ■TMS Advanced ToolBars & Menusアップデート »

☆タブのOwnerDraw

StyleがtsTabsなPageControlの場合、 タブをグラデーションさせると柔らかい印象になり、ちょっといい感じです。

uses
  GraphUtil;

procedure TForm1.FormCreate(Sender: TObject);
begin
  PageControl1.OwnerDraw := True;
end;

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
  // 色は適当に・・・。
  GradientFillCanvas(Control.Canvas,clBtnFace,$00CAC4C6,
    Rect,gdVertical);
  SetBkMode(Control.Canvas.Handle, TRANSPARENT);
  if Active then
    Control.Canvas.Textout(Rect.Left+7, Rect.Top+5,
      PageControl1.Pages[TabIndex].Caption)
  else
    Control.Canvas.Textout(Rect.Left+4, Rect.Top,
      PageControl1.Pages[TabIndex].Caption);
end;

|

« ☆ListViewのヘッダーの色を変える。 | トップページ | ■TMS Advanced ToolBars & Menusアップデート »