PRODUCTS

FEATURED PRODUCT

The most powerful, fastest & flexible suite for native Excel file manipulation and Excel,PDF,HTML report generation for .NET

License only 125 EUR See More

SEARCH

LOGIN

Customer login to access products, support information & special benefits.

NEWS ALERTS

Add your e-mail address here to receive the monthly TMS Software alerts.

 

LINKS

PRODUCTS » VCL COMPONENTS » TADVTABSET
v1.5.0.5 (Jul 26, 2007)

Purchase a license



TAdvPageControl & TAdvTabSet

advanced page control & tab control

Feature overview

TAdvPageControl

Finally a page control and tabset to make impressive tabsheet based forms

  • close button in tab
  • color per tab, hover color, selected tab color
  • customize border color, tab height, hover border color
  • customize tab font color per tab
  • support for gradients in tabs
  • custom tab background bitmap and hot tab background bitmap
  • support for top, left, right, bottom tabs
  • EXE demo included

What's new

v1.6.0.0

  • New : Added ClosePosition property to control left or right side close button
  • Fixed : issue with accelerator chars
  • Fixed : issue with OnCanChange for multiline tabs
  • Fixed : issue with ParentFont property

v1.5.0.5

  • New : TabStyle tsDelphi on TAdvPageControl to emulate Delphi 2005 tab look
  • New : drag & drop code sample for TAdvPageControl added
  • New : support for Delphi 2006 & C++Builder 2006
  • Fixed : painting issue with bottom tabs on Delphi 5
  • Improved : small cosmetic painting issue with tab borders
  • Fixed issue with OnCanChange and keyboard tabbing
  • Improved image position in tab for left & right mode
  • Fixed issue with custom painting through OnDrawTab

v1.4

  • New : automatic grayed text in tab for disabled tabsheets
  • New : Background color support for TAdvTabSheet
  • New : custom close glyph on tabs in TAdvPageControl and TAdvTabSet
  • New : FreeOnClose property for TAdvPageControl to automatically free the tabsheet upon close
  • New : Delphi 2005 support

v1.3

  • New : Enabled property for TTabCollectionItem in TAdvTabSet
  • New : ActiveFont property in TAdvPageControl and TAdvTabSet
  • New : TabEnable property in TAdvTabSheet
  • New : OnChanging event in TAdvPageControl allowing to control changing of tabs
  • New : OnCanClose event in TAdvTabSet & TAdvTabSheet to query before tab close

Tips

Using tab background bitmaps

TAdvPageControl and TAdvTabSet are designed to allow easy and flexible use of tab background bitmaps.  A single bitmap is sufficient to be used as normal tab background and another bitmap as selected tab background. The bitmap's bottom-most line is not used. The color of this bottom most line is used as transparency color. The tab bitmap is split in 3 parts to automatically stretch in an intelligent way to the size of the tab.The leftmost and rightmost half of the background bitmap are used as leftmost and rightmost part in the actual tab background. The middle 2 pixels are stretched to fill the full tab. In this way, a single bitmap is sufficient to draw all tab widths and all corner detail is maximally preserved.  The same applies for bitmaps used for vertical tabs but the mechanism to split the bitmap is rotated 90 degrees.

Tabdoc

Left and right positioned tabs

In order to use left and right positioned tabs, a vertical oriented font is displayed. Only truetype fonts support font orientation. Make sure to specify a truetype font for AdvPageControl.Font and AdvPageControl.ActiveFont.

Hiding tabs

In order to hide a tab from the TAdvPageControl, use the code

AdvPageControl.Pages[PageIndex].TabVisible := false;

Programmatically adding a page to TAdvPageControl

This code snippet programmatically inserts a new page in the TAdvPageControl

ats := TAdvTabSheet.Create(AdvPageControl1);
ats.AdvPageControl := AdvPageControl1;
ats.Caption := 'New tab';

Adding drag & drop on tabs for TAdvPageControl

Set TAdvPageControl.DragMode to dmManual and use this code in the TAdvPageControl events to perform drag & drop to reorder tabsheets:

procedure TForm1.AdvPageControl1DragOver(Sender, Source: TObject; X,
  Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := Source is TAdvPageControl;
end;

procedure TForm1.AdvPageControl1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  TAdvPageControl(Sender).BeginDrag(false, 5);
end;

procedure TForm1.AdvPageControl1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var
  i: Integer;
begin
  if (Sender = Source) then
  begin
    i := TAdvPageControl(Sender).IndexOfTabAt(X, Y);
      if (i>= 0) and (i < TAdvPageControl(Sender).PageCount) then
        TAdvPageControl(Sender).ActivePage.PageIndex := i;
  end
  else if (Source is TAdvPageControl) then
  begin
    TAdvPageControl(Source).ActivePage.AdvPageControl := TAdvPageControl(Sender);
  end;
end;

Buy online

CreditCards Accepted

TAdvTabSet Single developer license for commercial use with full source code

free updates for a full version cycle (from current version to v2.4) and free priority support: 30 EUR
for Delphi 5, 6, 7, 2005, 2006, 2007, C++Builder 5, 6, 2006, 2007

Please choose your language     and order immediately or add to cart
TAdvTabSet Site license for commercial use with full source code

free updates for a full version cycle (from current version to v2.4) and free priority support: 120 EUR
for Delphi 5, 6, 7, 2005, 2006, 2007, C++Builder 5, 6, 2006, 2007

Please choose your language     and order immediately or add to cart

This product is also available in TMS Component Pack.

Copyright © 1995 - 2008 TMS Software