by CARLOS ATUNCAR » Fri Sep 20, 2024 12:22 am
Estaba probando el ejemplo del archivo w10btns.prg y al cambiar las opciones ocurría que la primera opción no se visualizaba y si pasaba el mouse por la segundo boton se cambiaba por la primera que no se visualizaba revisando y con la ayuda CLAUDE se pudo solucionar el problema estaba en la función wndResize() ahora con los ajustes quedaría así
- Code: Select all Expand view
static function WndResize( oWnd )
local oRect := oWnd:GetCliRect()
local nMargin, nRow, nCol, nCols, nBtnWidth, nBtns, nBtn, oBtn, n
local aObjBtns := oWnd:cargo
for n := 1 to 2
oWnd:aControls[ n ]:nLeft := ( oRect:nWidth - oWnd:aControls[ n ]:nWidth ) / 2
next
nBtnWidth := 200
nCols := Min( 5, Int( oRect:nWidth / nBtnWidth ) - 1 )
nMargin := ( oRect:nWidth - nCols * nBtnWidth ) / 2
nBtns := Len( aObjBtns )
nRow := 170
nCol := nMargin
if nCols > 2
for nBtn := 1 to nBtns
oBtn := aObjBtns[nBtn]
WITH OBJECT oBtn
:cCaption := Trim( oBtn:cCaption )
:nTop := nRow
:nLeft := nCol
:nWidth := 200
:nHeight := 140
:nLayOut := LAYOUT_TOP
END
if nBtn % nCols == 0
nRow += 200
nCol := nMargin
else
nCol += nBtnWidth
endif
next
else
for nBtn := 1 to nBtns
oBtn := aObjBtns[nBtn]
WITH OBJECT oBtn
:cCaption += " "
:nTop := nRow
:nLeft := 30
:nWidth := oRect:nWidth - 60
:nHeight := 80
:nLayOut := LAYOUT_LEFT
END
nRow += 100
next
endif
return nil
Carlos Atuncar - CaSoftSystem
Chincha - Perú