Cambiar icono TDockPnel tiempo ejecución

Cambiar icono TDockPnel tiempo ejecución

Postby leandro » Mon Feb 21, 2022 8:40 pm

Buenas tardes para todos

En esta ocasión necesito poder cambiar algunos de los iconos que están en la cabecera del TDockPnel específicamente dos, los otros siempre van a ser fijos, las imágenes de momento las monto en el método SetImgsFiles(), pero quiero que al hacer clic en ocultar / mostrar se pueda cambiar el icono. Es posible?
Image
Code: Select all  Expand view

   oDock1  := TDockPnel():New( oWChCaCn )
   WITH OBJECT oDock1
      :SetHeightCaption( 50 )
      :SetCoors( { | o | 10 }, ;
                 { | o | 10 }, ;
                 { | o | Int( o:oWnd:nHeight  ) - 50 }, ;
                 { | o | Int( o:oWnd:nWidth / 2 ) - XEVal( o:nLeft, o ) } )
      :SetCaption( { | o | "Saldos Acumulados" } )
      :SetColors( CLR_WHITE, Rgb( 0,120,215 ) , Rgb( 88, 88, 88 ), CLR_HGRAY )
      :SetFont( oFont4 )
      :lLeftImgs   := .F.
      :SetBorderSize( 4 )
      :SetCtrlsPnel( { | o, nT, nL, nH, nW, oB | oB := fSaldos( o, nT, nL, nH, nW ) } )
      :SetImgsFiles( {  { oLamcla:cIcoBcBu, { | o | consaldocero() }, "Ocultar / Mostrar Con Saldo Cero" } ,;
                        { oLamcla:cIcoBcBr, { | o | ("") }, "Borrar " },;
                        { oLamcla:cIcoBcEd, { | o | eval(cbModi) }, "Modificar " },;
                        { oLamcla:cIcoBcAg, { | o | mantenimiento(0) }, "Agregar " } } )  
      :bRClicked   := { || MsgInfo( oDock1:oWnd:aControls[ 1 ]:ClassName() ) }
      :Activate()
   END
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1488
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar icono TDockPnel tiempo ejecución

Postby cnavarro » Tue Feb 22, 2022 1:47 am

Leandro

Code: Select all  Expand view


//----------------------------------------------------------------------------//
//
//----------------------------------------------------------------------------//

Function CreaDocks()

   oDock1  := TDockPnel():New( oWindow )
   WITH OBJECT oDock1
      :SetHeightCaption( 40 )
      :SetCoors( { | o | 10 }, { | o | 10 }, ;
                 { | o | Int( o:oWnd:nHeight / 2 ) + 54 }, ;
                 { | o | Int( o:oWnd:nWidth / 3 ) - XEVal( o:nLeft, o ) } )
      :SetCaption( { | o | "Title" } )
      :SetColors( METRO_RED, CLR_WHITE, Rgb( 88, 88, 88 ), CLR_HGRAY )
      :SetFont( oFont4 )
      :SetBorderSize( 1 )
      :SetSizeImgs( 48, 48, .F. )

      :SetImgsFiles( { { "..\bitmaps\32x32\notes.bmp", ;
                        { || oDock1:aBtnBmps[ 1 ]:SetImages( if( oDock1:lSelected, "..\bitmaps\32x32\notes.bmp", "\Fwh\bitmaps\32x32\checkbox.bmp" ) ), ;
                             oDock1:lSelected := !oDock1:lSelected }, "ToolTip" } } )

      :SetCtrlsPnel( { | o, nT, nL, nH, nW, oB | oB := Test1( o, nT, nL, nH, nW ) } )
      :bRClicked   := { || MsgInfo( oDock1:oWnd:aControls[ 1 ]:ClassName() ) }
      :Activate()
   END
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cambiar icono TDockPnel tiempo ejecución

Postby leandro » Tue Feb 22, 2022 10:42 am

Excelente Cristo :D

Funciono la perfección, te molesto con otra cosilla que salió :oops:, es posible hacer lo mismo con el tooltip?

De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1488
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar icono TDockPnel tiempo ejecución

Postby cnavarro » Wed Feb 23, 2022 11:10 pm

Si sabes como cambiar el tooltip a cualquier boton construído con Fw, entonces sabes como cambiarle el tooltip a estos botones, sólo has de saber como identificar esos objetos, y en mi ejemplo aparece cómo hacerlo:
oDock1:aBtnBmps[ 1 ]:
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6504
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: José Camilo and 28 guests