_screen.AddObject('Pgmenu','menu') && Menu is an empty pageframe, &&I also tried with the default pageframe class With _screen.pgmenu .top = 0 .left = 0 i = 1 Select 'wmenulevel' && is a table in which I store informations &&about the pages of menu I want to build Scan i = i + 1 .addobject('pg'+Alltrim(Str(i-1)),'Mypage') With .pages(i) .caption = Alltrim(wmenulevel.menu) Select 'moduli' && it contains the voices of menu j = 0 Scan for Idmenu = wmenulevel.idmenu j = j + 1 .addobject('pls' + Alltrim(Str(j)),'pulsdin') .controls(J).label1.caption = moduli.descri * .controls(J).left = 15 .controls(J).top = 20 + (.controls(J).height * (J - 1)) .controls(J).tag = Iif(!Empty(moduli.applica),"do " + moduli.applica,'') .controls(J).label1.init() .controls(J).visible = .t. EndScan .addobject('plsend','pulsdin') .plsend.label1.caption = '\<Uscita' .plsend.visible = .t. .plsend.tag = "clear events" .plsend.backcolor=Rgb(64,168,196) EndWith Select 'wmenulevel' EndScan .visible = .t. .settactrl() && it's a method build in the menu object &&I also tried to avoid this call EndWith Return Define Class 'mypage' as Page forecolor = Rgb(0,0,64) * * Procedure Activate * for i = 1 to this.controlcount * this.controls(i).disattiva() * endfor * EndProc * * Procedure Mousemove * LPARAMETERS nButton, nShift, nXCoord, nYCoord * NoDefault * this.activate() * DoDefault(nButton, nShift, nXCoord, nYCoord) * EndProc * EndDefine