Bug TExplorerBar

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

Bug TExplorerBar

Post by leandro »

Buenas noches para todos,

Estoy usando la clase TExplorerBar, pero en la parte en donde se dibuja el icono identificador del panel, se ve corrido el icono. Una
imagen dice mas que mil palabras.

Image

Code: Select all

   oExpPqr = TExplorerBar():New( 00, 00, 240, oWChPq:nHeight, oWChPq )
   oExpPqr:nTopColor := RGB( 215, 215, 215 )
   oExpPqr:nBottomColor := RGB( 215, 215, 215 )  
   
   oPanel1 = oExpPqr:AddPanel( "FACTURAS DE VENTA", ".\Res\pan32.png", , 30, 0, aGrad, , CLR_WHITE, CLR_WHITE )
   oPanel1:AddLink( "Agregar Fact. ", {|| manteFacturas(0) }, ".\Res\icon3.bmp" )
   oPanel1:AddLink( "Modificar Fact.", {|| manteFacturas() }, "#8202" )
   oPanel1:AddLink( "catalogos recupera.", {|| recuperacatalogos() }, "#8204" )
 
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: Bug TExplorerBar

Post by cnavarro »

Prueba esto a ver si te ocurre lo mismo
https://bitbucket.org/fivetech/fivewin- ... estmdi.prg
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Cristobal, muchísimas gracias por responder, como siempre muy amable.

Sucede exactamente lo mismo, se corre la imagen.

Image
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: Bug TExplorerBar

Post by cnavarro »

Leandro, ya entiendo. No es un bug, es el comportamiento normal tal y como se diseñó la clase.
Prueba modificando la clase o haciendo otra que herede de TExplBar con un método Paint distinto
Ojo que no lo he probado, pero creo que tu problema son las coordenadas que se asignan en el metodo Paint al dibujar la imagen

Code: Select all

METHOD Paint() CLASS TExplorerBar

   .../...

          if ! Empty( hBmpPanel := ::aPanels[ n ]:hBmpPanel )
             if ::aPanels[ n ]:lHasAlpha
                ABPaint( ::hDC, ;
                 ::aPanels[ n ]:nLeft - ( nBmpWidth( hBmpPanel ) / 3 ),;    // quitar lo que se resta y probar
                 ::aPanels[ n ]:nTop - ( nBmpHeight( hBmpPanel ) / 3 ),;    // quitar lo que se resta y probar
                 hBmpPanel, 255 )
             else
                DrawTransparent( ::hDC, hBmpPanel, ::aPanels[ n ]:nTop - ( nBmpHeight( hBmpPanel ) / 3 ),;     // quitar lo que se resta y probar
                              ::aPanels[ n ]:nLeft - ( nBmpWidth( hBmpPanel ) / 3 ) )      // quitar lo que se resta y probar
            endif
          endif
      next
   endif

 
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Probando ando, y comento :D
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
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Cristobal probando el cambio que sugeriste, sucedió lo siguiente:

Image

Code: Select all

   if ! Empty( ::aPanels )
      for n = 1 to Len( ::aPanels )
          if ! Empty( hBmpPanel := ::aPanels[ n ]:hBmpPanel )
             if ::aPanels[ n ]:lHasAlpha
                
                ABPaint( ::hDC, ;
                 ::aPanels[ n ]:nLeft ,;
                 ::aPanels[ n ]:nTop ,;
                 hBmpPanel, 255 )               
                
             else

                DrawTransparent( ::hDC, hBmpPanel, ::aPanels[ n ]:nTop ,;
                              ::aPanels[ n ]:nLeft  )            
            endif
          endif
      next
   endif
 
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: Bug TExplorerBar

Post by cnavarro »

Leandro
Dime cuál es el problema ahora?, no veo bien la imagen
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Cristobal...

La parte de la imagen que esta por fuera del panel no se ve.

Subi esta imagen, ampliada:

Image
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: Bug TExplorerBar

Post by cnavarro »

Leandro, en el mismo prg, tienes también la clase TTaskPanel, con su correspondiente method Paint

Code: Select all


   if ::hBmpPanel != 0
      if ::lHasAlpha
      /*
         ABPaint( ::hDC, ;
          - nBmpWidth( ::hBmpPanel ) / 3,;
          - nBmpHeight( ::hBmpPanel ) / 3,;
          ::hBmpPanel, 255 )
      */
         ABPaint( ::hDC, 1, 1, ::hBmpPanel, 255 )

      else
      /*
         DrawTransparent( ::hDC, ::hBmpPanel,  - nBmpHeight( ::hBmpPanel ) / 3,;
                          - nBmpWidth( ::hBmpPanel ) / 3 )
      */
         DrawTransparent( ::hDC, ::hBmpPanel, 1, 1 )
      endif

   endif


 
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Cristobal, ahora "duplica" la imagen.

Image
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: Bug TExplorerBar

Post by cnavarro »

Lo has hecho en los dos metodos paint?
Yo acabo de probarlo y funciona correctamente
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Como vas?

No aun no funciona, ahora la imagen queda dentro del panel y montada sobre el titulo :cry:

Image
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: Bug TExplorerBar

Post by cnavarro »

Puedes poner imágenes un poco más pequeñas ( es una buena opción )
Voy a mirar ahora la posición del título en este caso
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.
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TExplorerBar

Post by leandro »

Cristobal buenas tardes de nuevo yo, pero según tu ultima respuesta parece que no hice bien la consulta, lo que quiero es que el icono quede bien alienado, no que este contenido en el panel. Si notas el icono de la izquierda no queda bien alineada la parte del icono que esta fuera del panel, con la parte del icono que esta dentro del panel. Con un poco de efectos especiales (paint jejeje), alinee la imagen para dejarlo como se debería ver.

(perdón por subir la imagen grande de nuevo, pero es para que se note el error)

Image
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: Bug TExplorerBar

Post by cnavarro »

Ah!, estás hablando entonces de un efecto estético al dibujar la imagen?
Enviame la imagen a mi mail o como consideres para probarla, porque no he notado nada con las que he utilizado yo ( o no me he fijado, que también puede ser :D )
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.
Post Reply