*this simple demo code simulates a form pageframe with tabOrientation=3 (right border) *the tabs are superstaded by commandbuttons here (can be images,labels, containers..) *can also add picture on commandbutton positionned with pictureposition property . *see the pageframe.init, bindevents code and avoid some cosmetics.... Publi yform yform=Newobject("ypgf") yform.Show Read Events Retu * Define Class ypgf As Form Top = 0 Left = 0 Height = 600 Width = 750 Caption = "Pageframe with TabOrientation=3 & commandbuttons as TABS" Name = "Form1" Add Object pageframe1 As PageFrame With ; ErasePage = .T., ; PageCount = 4, ; Top = 3, ; Left = 21, ; Width = 648, ; Height = 461+50, ; TabOrientation = 3, ; Name = "Pageframe1", ; Page1.Caption = "Page1", ; Page1.BackColor = Rgb(128,255,0), ; Page1.Name = "Page1", ; Page2.Caption = "Page2", ; Page2.Name = "Page2", ; Page3.Caption = "Page3", ; Page3.Name = "Page3", ; Page4.Caption = "Page4", ; Page4.Name = "Page4" Procedure ybind Lparameters nButton, nShift, nXCoord, nYCoord *--- aevent create an array laEvents Aevents( myArray, 0) *--- reference the calling object loObject = myArray[1] oo="thisform.pageframe1.page"+ Right(Alltrim(loObject.Parent.Name) ,1) &&if tabs<=9 otheriwse rweek this line ss=oo+".setfocus" &ss ss=oo+".activate" &ss *colorize yemporarly background of active page oo=Eval(oo) Thisform.pageframe1.Themes=.F. oo.BackColor=Rgb(255*Rand(),255*Rand(),255*Rand()) Inke(0.5) Thisform.pageframe1.Themes=.T. Endproc Procedure Init Declare Integer Sleep In kernel32 Integer For i=1 To This.pageframe1.PageCount Bindevent(Eval("thisform.ylab"+Transform(i)),"mousedown",Thisform,"ybind") Endfor Endproc Procedure Destroy Clea Events Endproc Procedure pageframe1.Init Thisform.AddProperty("oheight",47) With This .Tabs=.T. xorientation=This.TabOrientation xtop=This.Top xwidth=This.Width/This.PageCount xheight=This.Height/This.PageCount .TabOrientation=3 For i=1 To .PageCount .Pages(i).Caption="" Thisform.AddObject("ylab"+Trans(i),"commandbutton") With Eval("thisform.ylab"+Trans(i)) .Caption="Mypage"+Trans(i) .WordWrap=.T. .SpecialEffect=2 .mousePointer=15 .FontBold=.T. .FontSize=9 *!* .backColor=Rgb(255*Rand(),255*Rand(),255*Rand()) &&can uncomment .Top= Int(i-1)*xheight .Width=Thisform.oheight .Height=xheight .Left= Thisform.pageframe1.Width-27 ******************* *vertical caption style m.oo="" For j=1 To Len(.Caption) m.oo=m.oo+Substr(.Caption,j,1)+Chr(13) Endfor .Caption=m.oo ******************* .Visible=.T. Endwith Endfor Endwith Endproc Enddefine * *-- EndDefine:ypgf