In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

ttoolbar - cambio de imagen en ttoolbutton

Foro público de Xailer en español
carloskds
Mensajes: 27
Registrado: Mié Abr 05, 2023 2:53 am

ttoolbar - cambio de imagen en ttoolbutton

Mensaje por carloskds »

tengo este codigo donde construyo una toolbar por codigo, noten el btn filter (tiene la imagen tb_filteradd), el cual al presionarlo deseo cambiar la imagen a "tb_filterdel"
le he buscado por varios lado, pero no he sido capaz, se que se cambian por la propiedad nindex, pero es cuado se usa el listimage, y aun tampoco, lo he logrado.
actualmente he logrado cambiar el texto y tooltip.

se agradece la atencion.
gracias mil

Código: Seleccionar todo

   WITH OBJECT ::oToolBar1 := TToolBar():New( ::oRebar1 )
      :nBtnHeight := 60
      :nBtnWidth  := 60
      :oCursor    := CreateCursorHand()
      :AddButton( "&Salir", "tb_exit",,, "Salir del modulo", {|| ::MyClose() } )
      :AddSeparator()
      :AddButton( "&Nuevo", "tb_add",,, "Nuevo Elemento", {|| ::Add() } )
      :AddButton( "&Editar", "tb_edit",,, "Editar Elemento", {|| ::Edit()} )
      :AddButton( "&Borrar", "tb_delete",,, "Borrar Elemento", {|| ::Delete() } )
      :AddSeparator()
      ::oBtnFilter := :AddButton( "&Ruta de cobro", "tb_filteradd",,, "Filtrar clientes por ruta de cobro", {|| ::FilterRoute() } )
      ::oBtnFilter:lAutoSize := TRUE
      :AddSeparator()
      :AddButton( "&Prestamos", "tb_loans",,, "Lista de prestamos de cliente", {|| ::Loans() } ):lAutoSize := TRUE
      :AddSeparator()
      :AddButton( "&Documentos", "tb_documents",,, "Documentos asociados", {|| ::Documents() } ):lAutoSize := TRUE
      :Create()
   END

   WITH OBJECT ::oRebarBtn1 := TRebarBand():New( ::oRebar1 )
      :oControl   := ::oToolbar1
      :lGripper   := rgALWAYS
      :lChildEdge := TRUE
      :Create()
   END
   
   ....
   
   METHOD FilterRoute() CLASS TFrmClientes

   LOCAL lCambio := FALSE
   LOCAL cWhere := NIL
   LOCAL bEval
   LOCAL oError

   IF ::nNumRuta > 0
      ::nNumRuta := 0
      ::cNomRuta := ""
      TRY
         MsgRun( "Cambiando parametros de consulta...", {|| ... }, clPurple, 0.10, TRUE )
         lCambio := TRUE
      CATCH oError
         ShowError2( oError )
      END
      IF lCambio
         ::oBtnFilter:cText := "&Ruta de cobro"
         ::oBtnFilter:cTooltip := "Filtrar clientes por ruta de cobro"
         ::oStatusBar1:aItems[ 2 ]:cText := "TODAS LAS RUTAS"
         ::oBrw:GoTop()
         ::CalcularTotalesBrw()
      ENDIF
   ELSE
      bEval := {|| ::nNumRuta := ::oQryRuta:NUM_RUTA, ::cNomRuta := ::oQryRuta:NOMBRE }
      ChoiceQuery1( ::oQryRuta, "NOMBRE", "Lista de rutas de cobro", bEval )
      IF ::nNumRuta > 0
         cWhere := StrFormat( "num_ruta=%1", Var2Str( ::nNumRuta ) )
         TRY
            MsgRun( "Cambiando parametros de consulta...", {|| ...  }, clPurple, 0.10, TRUE )
            lCambio := TRUE
         CATCH oError
            ShowError2( oError )
         END
         IF lCambio
            ::oBtnFilter:cText := "&Todas las rutas"
            ::oBtnFilter:cTooltip :=  "Limpia filtro y muestra los clientes de todas las rutas"
            ::oStatusBar1:aItems[ 2 ]:cText := "FILTRADO"
            ::oBrw:GoTop()
            ::CalcularTotalesBrw()
         ENDIF
      ENDIF
   ENDIF

   ::oBrw:SetFocus()

RETURN Nil
Responder