FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ExploreBar y Expandir/Retraer Paneles
Posts: 174
Joined: Wed Nov 29, 2017 11:42 AM
ExploreBar y Expandir/Retraer Paneles
Posted: Sat Dec 23, 2017 09:42 PM
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 ???


Code (fw): Select all Collapse
#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 nil


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.
Un Saludo,

Xevi.



Aprendiz de la vida!!!
Posts: 174
Joined: Wed Nov 29, 2017 11:42 AM
Re: ExploreBar y Expandir/Retraer Paneles
Posted: Sat Dec 23, 2017 10:10 PM

Despu茅s de repasarme un poco la Clase TExplBar...

La soluci贸n

:CheckScroll()

Despu茅s de ocultar los paneles, y funciona como es debido. Ya no muestra la barra Scroll al iniciar.

Un Saludo,

Xevi.



Aprendiz de la vida!!!

Continue the discussion