He aislado el c贸digo, a la m铆nima expresi贸n, sin fuentes, imagenes fuera de 4 de fwh, y el resultado es el que comento...
Al iniciar la aplicaci贸n/ventana, se muestra la barra Scroll vertical, cuando los paneles est谩n sin expandir y no deberia de mostrarse, pues caben perfectamente en la zona del ExplBar.
Es como si cogiera la altura de TODOS los paneles expandidos y por eso muestra la barra Scroll Vertical.
Si al iniciar la aplicaci贸n, se pincha en cualquier panel para expandirlo, luego desaparece la barra scroll, como si hiciera el refresh y recontara el espacio de alto que ocupa, para mostrar/ocultar la barra.
Eso es lo que deberia de hacer al iniciar la aplicaci贸n o al ocultar los paneles.
驴Como se puede hacer que cuando se haga ocultar el panel por c贸digo llame al evento recalcula/refresca altura para mostrar/ocultar la barra Scroll Vertical ???
No me vale hacer mas largo el ExplBar... pues luego habrian items/paneles escondidos debajo de la ventana, al ser m谩s largo el ExplBar que la ventana.
Supongo que el error (mio) est谩 al ocultar los paneles,... alguna cosa falta para que se recalcule el alto TOTAL de los panels+items visibles para que aparezca o no la barra Scroll Vertical.
Gracias.
Al iniciar la aplicaci贸n/ventana, se muestra la barra Scroll vertical, cuando los paneles est谩n sin expandir y no deberia de mostrarse, pues caben perfectamente en la zona del ExplBar.
Es como si cogiera la altura de TODOS los paneles expandidos y por eso muestra la barra Scroll Vertical.
Si al iniciar la aplicaci贸n, se pincha en cualquier panel para expandirlo, luego desaparece la barra scroll, como si hiciera el refresh y recontara el espacio de alto que ocupa, para mostrar/ocultar la barra.
Eso es lo que deberia de hacer al iniciar la aplicaci贸n o al ocultar los paneles.
驴Como se puede hacer que cuando se haga ocultar el panel por c贸digo llame al evento recalcula/refresca altura para mostrar/ocultar la barra Scroll Vertical ???
#include "FiveWin.ch"
function Main()
local oWnd, oExBar, oPanel1, oPanel2, oPanel3, oPanel4, oPanel5, oPanel6
local bClick := { | o | MsgInfo( o:GetText() ) }
Local nPanel, nItem
DEFINE WINDOW oWnd FROM 1, 1 TO 750, 1450 PIXEL TITLE "FWH Class TExplorerBar"
* oExBar = TExplorerBar():New() //Asi SI funciona y no aparece la barra Scroll, pero ocupa TODA la ventana
oExBar = TExplorerBar():New( 0, 0, 325, 700, oWnd )
oPanel1 = oExBar:AddPanel( "PANEL1" )
oPanel1:AddLink( "Primer item", bClick, "C:\FWH\bitmaps\16x16\additem.bmp" )
oPanel1:AddLink( "Segundo item", bClick, "C:\FWH\bitmaps\16x16\copy.bmp" )
oPanel1:AddLink( "Otro item", bClick, )
oPanel1:AddLink( "Otro m谩s", bClick, )
oPanel1:AddLink( "Otro... y van 5", bClick, )
oPanel2 = oExBar:AddPanel( "PANEL 2" )
oPanel2:AddLink( "Primer item", bClick, "C:\FWH\bitmaps\16x16\additem.bmp" )
oPanel2:AddLink( "Segundo item", bClick, "C:\FWH\bitmaps\16x16\copy.bmp" )
oPanel2:AddLink( "Otro item", bClick, )
oPanel3 = oExBar:AddPanel( "PANEL 3" )
oPanel4 = oExBar:AddPanel( "PANEL 4" )
oPanel5 = oExBar:AddPanel( "PANEL 5" )
oPanel5 = oExBar:AddPanel( "PANEL 6" )
oExBar:Refresh()
// Oculto TODOS los paneles EXCEPTO el primero
WITH OBJECT oExBar
For nPanel := 2 to 6
:aPanels[nPanel]:nHeight = :aPanels[nPanel]:nTitleHeight
For nItem:=nPanel+1 To Len (:aPanels)
:aPanels[nItem]:nTop -= :aPanels[nPanel]:nBodyHeight
Next
:aPanels[nPanel]:lCollapsed := .T. // muda o icone de expandido para comprimido
Next
END WITH
oExBar:Refresh()
//Aparece la Barra Scroll Vertical, como si no tuviera en cuenta que los Paneles estan sin expandir
//Aunque fuerze a Refrescar el ExplBar despu茅s de ocultar paneles
ACTIVATE WINDOW oWnd CENTERED
return nilNo me vale hacer mas largo el ExplBar... pues luego habrian items/paneles escondidos debajo de la ventana, al ser m谩s largo el ExplBar que la ventana.
Supongo que el error (mio) est谩 al ocultar los paneles,... alguna cosa falta para que se recalcule el alto TOTAL de los panels+items visibles para que aparezca o no la barra Scroll Vertical.
Gracias.
Un Saludo,
Xevi.
Aprendiz de la vida!!!
Xevi.
Aprendiz de la vida!!!