RIBBON con imagenes PNG (SOLUCIONADO)

Post Reply
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

RIBBON con imagenes PNG (SOLUCIONADO)

Post by Patricio Avalos Aguirre »

Estimados

Es posible que los botones de RIBON pueda usar imagen PNG
ya que son mas vistosos actualmente los paso a bmp
Last edited by Patricio Avalos Aguirre on Fri Apr 26, 2013 2:51 pm, edited 1 time in total.
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: RIBBON con imagenes PNG

Post by cnavarro »

Buenas tardes
En la asignacion de la imagen puedes utilizar una funcion como la siguiente:

Code: Select all


Function CargaImgBtt( cFile , oButton )
Local  lSw    := .F.
Local  cExt   := ""
if !empty( cFile )
   cExt          :=  Right( Upper( cFile ), 3 )
   if cExt  =  "BMP"
      if !empty( oButton )
         //? cFile
         oButton:LoadBitmaps( cFile )
         lSw    := .T.
      endif
   else
      if !empty( oButton )
         oButton:hBitmap1 := FWOpenPngFile( cFile )
         lSw    := .T.
      endif
   endif
   if lSw
      oButton:HasAlpha( oButton:hBitmap1, BTN_UP )
      oButton:Refresh()
   endif
endif
Return lSw

 
No recuerdo donde la vi, pero yo la uso para cualquier tipo de button
Un saludo
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
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Re: RIBBON con imagenes PNG

Post by Patricio Avalos Aguirre »

Hola cNavarro

muchas gracias por tu respuesta

modifique la clase y funciona muy bien

aqui dejo la modificacion

Code: Select all

METHOD LoadBitmaps( cName ) CLASS TRBtn

   local aBmpPal

   if ! Empty( cName )

      if ! File( cName )
         aBmpPal = PalBmpLoad( cName )
         ::hBitmap1  = aBmpPal[ 1 ]
         ::hPalette1 = aBmpPal[ 2 ]
         ::HasAlpha( ::hBitmap1 )
      else
         ::cName = cName
            if upper(right(cName,3))="PNG"
                ::hBitmap1  = FWOpenPngFile( cName )
                ::hPalette1 = 0
                ::HasAlpha( ::hBitmap1 )
            else
               aBmpPal     = PalBmpRead( ::GetDC(), cName )
               ::hBitmap1  = aBmpPal[ 1 ]
               ::hPalette1 = aBmpPal[ 2 ]
               ::ReleaseDC()
            endif
      endif
   endif

   if ! Empty( ::hBitmap1 )
      PalBmpNew( ::hWnd, ::hBitmap1, ::hPalette1 )
   endif

return nil
 
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
DARWIN UZCATEGUI
Posts: 5
Joined: Tue Apr 09, 2013 7:37 pm
Location: Catia la Mar Edo Vargas - Venezuela
Contact:

Re: RIBBON con imagenes PNG (SOLUCIONADO)

Post by DARWIN UZCATEGUI »

Saludos falta colocar una linea
aquí anexo la clase con la linea modificada
// en else de bmp ::HasAlpha( ::hBitmap1 ) // falta esta lineas

METHOD LoadBitmaps( cName ) CLASS TRBtn

local aBmpPal

if ! Empty( cName )


if ! File( cName )
aBmpPal = PalBmpLoad( cName )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap1 )
else
::cName = cName
if upper(right(cName,3))="PNG"
::hBitmap1 = FWOpenPngFile( cName )
::hPalette1 = 0
::HasAlpha( ::hBitmap1 )
else
aBmpPal = PalBmpRead( ::GetDC(), cName )
::hBitmap1 = aBmpPal[ 1 ]
::hPalette1 = aBmpPal[ 2 ]
::HasAlpha( ::hBitmap1 ) // falta esta lineas
::ReleaseDC()
endif
endif
endif


if ! Empty( ::hBitmap1 )
PalBmpNew( ::hWnd, ::hBitmap1, ::hPalette1 )
endif

return nil
User avatar
DARWIN UZCATEGUI
Posts: 5
Joined: Tue Apr 09, 2013 7:37 pm
Location: Catia la Mar Edo Vargas - Venezuela
Contact:

Re: RIBBON con imagenes PNG (SOLUCIONADO)

Post by DARWIN UZCATEGUI »

Con la linea.

Image

Uploaded with ImageShack.us

sin la instrucción .. la imagen se altera (bmp)
Image

Uploaded with ImageShack.us
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Re: RIBBON con imagenes PNG (SOLUCIONADO)

Post by Patricio Avalos Aguirre »

Hola Darwin

correcta la observacion

gracias..!!
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: RIBBON con imagenes PNG (SOLUCIONADO)

Post by Antonio Linares »

Muy buena mejora, gracias a todos! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: RIBBON con imagenes PNG (SOLUCIONADO)

Post by joseluisysturiz »

Que buen aporte y cambio, tambien funciona si la imagen esta en recurso.? gracias, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
Post Reply