Form1 Form15 Container HScroll1 HScroll1 CommandBtns 8 tabs CommandBtns 4 tabs CommandBtns 3 tabs CommandBtns 2 tabs Label1 Click Here to Exit Label1 Position Label1 Tab Size Picture1 Picture1_Click xoffS RightU invert Bottom top2H Picture1 @ Form_Load Form_Paint NumberOfTabs/ ScaleWidth Form1 Nexttabh WidthX Form_Resize Columns* NumberPerRow TabsPerRow TabHeight DistanceFromTop StartTabn DistanceFormTop CreatePolygonRgn lpPoints$ POINTAPI nCount nPolyFillModeA ShitJ Column Form_MouseDown Button Shift ArtWork DrawMode FillStyle_ FillColorH PixelXY PixelY Index FloodFillT ExtFloodFill FLOODFILLBORDER Check1} Value PolyMode| SetPolyFillMode7 Polygonk PolyPts@ crColorc API2> PtInRectBynum8 lpRect Rect+ BoundingBox InvertRectD Invert1 Form_MouseUp BitBlte SRCCOPY Screen TwipsPerPixelX Height TwipsPerPixelY) Colulms ForeColor QBCoor ScaleHeight= CurrentX CurrentY orm1Z TabPerRow Frame1_DragDrop Source Control Frame1_Click Frmae1N Frame1 Picture1_Resize WidthjD Picture Picture1_MouseDown DrawWidth Picture1_Paint fom1f TopForm1C BackColor Label1 textRectf DrawText DT_CENTER2 WindowState Tehn[ TabStart DT_SINGLINE DT_SINGELINE DT_VCENTER DT_SINGLELINE Events ScaleModeH Firm1 Fprmat, Rect2 ScaleLeft\ ScaleTop ShowTabForm{ Slectn Command1_Click Command2_Click Timer1_Timer FlagOn intger BoundingBox23 boundingbox1 OldBoundingBox5 XSrcI YSrcF dwRop Form_Click Visible ReBuildr TooSmall PaintP ShowTabContents HScroll1_Change Scroll1u Hscroll1 Hscroll Picture2_Click Container_Click% @ CommandBtns_Click Label1_Click FormSized FormSizeK FormWide! From1+ FormHigh SaveCurrentTabA CurrentTabU Draw3Dcontrols# FrameWidth Parent TLShadea BRShadea ControlCount ControlCounts ControlsCounts Controls Count4 Container Countrols Command1; CommandBtns ResizeControlsH FormH FormW OrgFormLeft FormL OrgFormWith Form_Activate OrgCtrLeft FormT OrgCtrlLeft OrgCtrlWidth OrgCtrWidth FormTAs FormTbAs OrgCtrlTop OrgCtrlHeight FontSize OCtrlLeft OCtrlWidth OCtrlTopS CtrlLeft CtrlWidthy CtrlTopn CtrlHeight FirstTime CtrLeft CtrTop CtrWidth CtrHeight CommandBtns_Click Draw3Dcontrols lefto right bottom) Form_Load starting index of Tab arrayi number of Tabs in each row top position of each Tab height of each tab convert twips to pixels Form_MouseDown Find the location of each Taba all tab's rect positions are saved during the Form1.Paint event.s W = west, N = north, E = east, S = south magic formula to splice X & Y together long line short line display something after a tab is selectede reset (B) Tab array variable if Tab not selected Form_Paint 'draw the black outlines of each Tab First Tab's X position extended start line to trap FloodFillR sets total tabs per rows left bottomh left top angle width of each tab - angle widths right top anglet right bottom 'store rectanglular area of each tab for PtInRect function extended last line to trap FloodFill 'draw the 3D Tab lines reset start position White lines left bottom left top angle width of each tab - angle widths dark gray lines right top angleh right bottom 'draw the Tab Page bordere 'Draw custom Tab labelsb reset black pen" you could replace with Label controls to elimate both API functions, DrawText & PtInRectc 'FloodFill top of Form 'Draw a 3D bevel around Picture1 Form_Resize HScroll1_Change height of each Tab Distance from top of Form1 Label1_Click Robert W. Stewart 72632,3004 1092 Avenue Road, Toronto, Ontario ShowTabContents Green Purple Light gray Dark gray Case Else