Implementando una Clase TExplorerBar propia de FWH

User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Implementando una Clase TExplorerBar propia de FWH

Post by leandro »

Tengo otra petición :D

Que la rueda del ratón también desplace el panel.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Implementando una Clase TExplorerBar propia de FWH

Post by cnavarro »

leandro wrote:Tengo otra petición :D

Que la rueda del ratón también desplace el panel.
Supongo que te funcionó lo de ajustar el primer panel al top del TExplorerBar, no?

Quieres decir que tienes más paneles de los que caben en el TExplorerBar y quieres actuar sobre el scroll con el ratón?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

CMBIADO DE LUGAR
Last edited by pacotre on Wed Apr 15, 2020 10:16 pm, edited 1 time in total.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Implementando una Clase TExplorerBar propia de FWH

Post by leandro »

Cristobal, gracias por responder.
Supongo que te funcionó lo de ajustar el primer panel al top del TExplorerBar, no?
Si funciono super :D
Quieres decir que tienes más paneles de los que caben en el TExplorerBar y quieres actuar sobre el scroll con el ratón?
Exactamente
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

Antonio Linares wrote:Puedes proporcionar un PRG ejemplo pequeño y autocontenido de como lo estás haciendo ?
oExBar:nTopColor := FONDODIAL2
oExBar:nBottomColor :=FONDODIAL2

oPanel1 = oExBar:AddPanel( "Informes", "MALETIN" )

opanel1:SetColor(letras,fondo)
oPanel1:AddLink("Vistas_I",bClick, )
oPanel1:AddLink("Imprimir_I",bclick, )
oPanel1:AddLink("Listados_I",bclick, )
oPanel1:AddLink("Seguimiento",bclick, )
oPanel1:AddLink( "Incorporar pdfs",bclick, )
oPanel1:AddLink( "Elementos Codif.",bClick, )
oPanel1:AddLink("Config Impresion",bclick, )

activate.... oExBar:CloseAll(0)

method:
METHOD CloseAll( nOpen ) CLASS TExplorerBar

local nPanel, nItem

*DEFAULT nOpen := 1

for nPanel := nOpen + 1 to Len( ::aPanels )
with object ::aPanels[ nPanel ]
:lCollapsed = .T.
:nTopMargin = 1
:nLeftMargin = ::aPanels[ 3 ]:nLeftMargin-5
:nRightMargin = ::aPanels[ 3 ]:nRightMargin+6
:nLeft = :nLeftMargin
:nRight = ::oWnd:nWidth - :nRightMargin
:nHeight = :nTitleHeight
end
for nItem := nPanel + 1 To Len( ::aPanels )
::aPanels[ nItem ]:nTop -= ( ::aPanels[ nPanel ]:nBodyHeight )
next
next

return nil
gracias
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Implementando una Clase TExplorerBar propia de FWH

Post by Antonio Linares »

Paco,

Ese PRG no está completo y no se puede compilar tal cual está.

Para poder dar soporte técnico, necesitamos que nos ayudeis de esa forma :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

Buenos dias Antonio:
He encontrado la forma más práctica de resolverlo y me ha quedado muy bien. Consiste solo en meterle espacios por la izquierda a los bitmaps:

oPanel1 = oExBar:AddPanel( "Informes", "CASE" )

El bitmap "CASE" por ejemplo lo he desplazado a la derecha, dejando más espacio transparente la izquierda. Ahora, aunque esté cortando sólo corta espacio en blanco, por lo que el bitmap se ve más a la izquierda, pero no cortado, y por tanto no quedan restos al refrescar la ventana con todos cerrados. Creo que es una forma fácil y rápida de darle solución.
Gracias. De momento me doy por satisfecho. La verdad es que el cambio de menús antiguos a éste de Texplorer es una pasada.
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

Hola amigos:
Tengo un pequeño problemilla con Texplorer. En general me va muy bien, pero he observado un problema que no sé por donde meterle mano. Se trata de Scroll Vertical.
Si muevo la barra de Scroll, sin problemas.
Si pincho abajo, fuera de la barra, se desplaza todo y sin problemas, moviendo de nuevo la barra hacia arriba todo vuelve a la normalidad, pero si cuando la barra está abajo se me ocurre pinchar arriba, fuera de la barra con el fin de que vuelva todo arriba se monta el cirio. El menú se pierde por arriba, siendo el primero visible el que puede ser el cuarto o el quinto, pero ya no ha forma de que aparezca la primera opción del menú.
Voy a procurar subir imágenes. A ver si lo consigo:

Primera imagen muestra el arranque de la aplicación. Todo normal. La barra está arriba y el menú arriba.

Image



Segunda imagen. Bajamos la barra y todo normal. Si arrastramos la barra hacia arriba todo vuelve a la normalidad
Image


El problema surge cuando en lugar de arrastrar la barra pincho por encima o por abajo de la barra.

Image

En este video se puede apreciar el descontrol entre la posición de la barra y la posición de las opciones del menú.
https://vimeo.com/user105544909/review/ ... 010f8be861



Observad donde está la barra y donde aparece la primera opción del menú. Ya se ha desconfigurado todo y no hay forma de recuperar el menu completo. La barra está arriba y el menú abajo

Qué estoy haciendo mal. Me podeis ayudar?

Gracias
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

Buenos dias:
Pues he dado una solución a este problema. No sé si es la más ortodoxa, pero a mi me vale:


::oVScroll:bGoUp = {|| ::VScrollSkip( - 10 ) }
::oVScroll:bGoDown = {|| ::VScrollSkip( 10 ) }

// ::oVScroll:bPageUp = {|| ::VScrollSkip( - ::oVScroll:nPgStep ) }
// ::oVScroll:bPageDown = {|| ::VScrollSkip( ::oVScroll:nPgStep ) }

::oVScroll:bPos = {|nPos| ::VScrollSetPos( nPos ) }
::oVScroll:bTrack = {|nPos| ::VScrollSetPos( nPos ) }

Como veis, he comentado esas dos líneas y el efecto es que se mueve la barra, pero no el menú. Si ahora pinchas sobre la barra el menú se desplaza al punto de la barra, pero no se descoloca. Al desplazar la barra Scroll todo funciona perfectamente.
Last edited by pacotre on Sat May 16, 2020 10:35 am, edited 1 time in total.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Implementando una Clase TExplorerBar propia de FWH

Post by Antonio Linares »

Paco,

muy bien

Puedes proporcionar un ejemplo completo para que otros usarios puedan usarlo ?

muchas gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

En mi anterior post hay un video con el efecto erróneo.
Ahora subo uno como ha quedado. Solo hay que anular esas dos líneas.

https://vimeo.com/419249741
Last edited by pacotre on Sat May 16, 2020 12:27 pm, edited 2 times in total.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Implementando una Clase TExplorerBar propia de FWH

Post by cnavarro »

El enlace al video no me funciona
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
pacotre
Posts: 40
Joined: Fri Jan 10, 2014 10:38 am

Re: Implementando una Clase TExplorerBar propia de FWH

Post by pacotre »

Prueba ahora
Post Reply