tpagecontrol resize/tab order bug??

below is the code to simulate a problem I have with the TPageControl.  In a
nut shell, then the control goes from two rows of tabs to three rows, the
order of the tabs is not retained.  So tabs 1-10 are in the first row and
11-18 in the second row.  Resize to something smaller and I get 1-7 on the
first row, 15-18 on the secnd and 8-14 on the third.  Notice the incorrect
order!

So next I tried to make the PageControl smaller so that I have three rows at
design time and I set them so that they are in the correct order with 1-7 on
the first row, 8-14 on the second and 15-18 on the third, at runtime, the
order is still screwed-up as described above.

Finally, I tried to set the order at runtime by calling the
                    pagecontrol1.ActivePage := Tabsheet15;
                    pagecontrol1.ActivePage := Tabsheet8;
                    pagecontrol1.ActivePage := Tabsheet1;  on form.create,
no luck arg!

help! and thanks,

tt

*******************************************
NOTE: TpageControl.multiline :=true;
*******************************************

unit unttabtest;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    TabSheet5: TTabSheet;
    TabSheet6: TTabSheet;
    TabSheet7: TTabSheet;
    TabSheet8: TTabSheet;
    TabSheet9: TTabSheet;
    TabSheet10: TTabSheet;
    TabSheet11: TTabSheet;
    TabSheet12: TTabSheet;
    TabSheet13: TTabSheet;
    TabSheet14: TTabSheet;
    TabSheet15: TTabSheet;
    TabSheet16: TTabSheet;
    TabSheet17: TTabSheet;
    TabSheet18: TTabSheet;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
     pagecontrol1.width := 600;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     pagecontrol1.width := 800;

end;

end.