Page 1 of 1

atualizar TOOLBAR

Posted: Wed Feb 13, 2019 6:22 am
by Sistem
para atualizar o menu faço assim:
oWnd:setmenu( MenuPrincipal() )
oWnd:Refresh()

pergunta, como faço para atualizar TOOLBAR ?
ex: DEFINE TOOLBAR oToolBar OF oWnd SIZE 50, 58 IMAGELIST oImageList BALLOON
??

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 1:27 pm
by karinha
Mira \samples\boris.prg

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 3:16 pm
by Sistem
karinha, obrigado pela ajuda
mais eu preciso dar REFRESH no toolbar (aqui nao refresca nada kkk)
no seu caso eh mostrar e ocultar o toolbar
preciso dar refresh e os botoes sigam a regra do WHEN

Code: Select all

DEFINE TBBUTTON OF oToolBar ;
          ACTION  Prod01() ;
          TOOLTIP "Cadastro de" + CRLF + "Produtos" PROMPT  "Produtos";
          WHEN If( oApp:A9000 = "N", .F. , .T. )
 
tipo, tenho a variavel oApp:A9000 = "N" depois passo a variavel pra "S" em algum ponto do meu programa, daí preciso atualizar o toolbar entende?... lembrando que WHEN .F. desabilita o botao e .T. habilita

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 3:22 pm
by karinha
Tente assim:

STATIC lLigaBTN := .F., oBtnBar

Code: Select all

DEFINE TBBUTTON oBtnBar OF oToolBar ;
          ACTION  Prod01() ;
          TOOLTIP "Cadastro de" + CRLF + "Produtos" PROMPT  "Produtos";
          WHEN ( lLigaBtn )
 
Quando ligar o lLigaBtn, Refresque o oBtnBar.

OBtnBar:Enable()
oBtnBar:Refresh()

Abs.

Saudações.

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 3:26 pm
by Sistem
karinha, nao testei ainda, mais veja
tenho varios botoes com WHEN no TOOBAR vou ter que fazer REFRESH individual?
vou continuar tentando, qualquer coisa aviso aqui
mais jah ajudou bastante

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 3:42 pm
by Sistem
karinha,

Code: Select all

dessa maneira da erro => DEFINE TBBUTTON oBtnBar OF oToolBar  
da maneira abaixo da certo:
oToolBar:EnableButton( 3, .f. )
oToolBar:EnableButton( 3, .t. )
 
pelo jeito vou ter que dar REFRESH nos botoes individualmente

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 4:05 pm
by karinha
No accepta objeto mismo.

BORIS.prg(139) Error E0030 Syntax error: "syntax error at 'TBBUTTON'"

Sin el objeto, funciona perfecto el wHEN( lLigaBtn )

Saludos.

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 5:32 pm
by carlos vargas

Code: Select all

STATIC PROCEDURE Pago_Toolbar()
   LOCAL oCursor := CrearCursorBarraBotones()

   DEFINE BUTTONBAR oToolBar OF oDlg SIZE 60, 60 2010 CURSOR oCursor

   DEFINE BUTTON NAME "TB2_EXIT"       OF oToolBar ACTION oDlg:End()           PROMPT "&Salir"
   DEFINE BUTTON NAME "TB2_ADD"        OF oToolBar ACTION Pago_Editar( TRUE  ) PROMPT "&Nuevo" GROUP
   DEFINE BUTTON NAME "TB2_EDIT"       OF oToolBar ACTION Pago_Editar( FALSE ) PROMPT "&Editar"
   DEFINE BUTTON NAME "TB2_DELETE"     OF oToolBar ACTION Pago_Borrar()        PROMPT "&Borrar"
   DEFINE BUTTON NAME "TB2_CALENDAR"   OF oToolBar ACTION Pago_SelFecha()      PROMPT "&Fecha"
   DEFINE BUTTON NAME "TB2_GANTT"      OF oToolBar ACTION Pago_SelRuta()       PROMPT "&Ruta" GROUP
   DEFINE BUTTON NAME "TB2_GETPAYMENT" OF oToolBar ACTION Pago_Recuperar()     PROMPT "&Cobro"   GROUP
   DEFINE BUTTON NAME "TB2_PUTPAYMENT" OF oToolBar ACTION Pago_Aplicar()       PROMPT "&Aplicar"
   DEFINE BUTTON NAME "TB2_PRINTER"    OF oToolBar ACTION Pago_Print()         PROMPT "&Listar" GROUP

   SET MSGBAR OF oDlg TO "INS=Nuevo, DEL=Borrar, ENTER=Editar, F4=Ruta, F5=Fecha, F6=Recuperar, F7=Aplicar, F9=Refrescar" 2010

   oDlg:SetControl( oBrw )

   oBrw:nTop    += 1
   oBrw:nHeight -= 1

   WITH OBJECT oToolBar
      :bRClicked := {|| NIL }
      :bLClicked := {|| NIL }
      :aControls[ 1 ]:cToolTip := "Cierra modulo."
      :aControls[ 2 ]:cToolTip := "Agrega un nuevo registro."
      :aControls[ 3 ]:cToolTip := "Edita datos del registro actual."
      :aControls[ 4 ]:cToolTip := "Elimina datos del registro actual."
      :aControls[ 5 ]:cToolTip := "Filtra pagos segun fecha."
      :aControls[ 6 ]:cToolTip := "Filtra pagos segun ruta de cobro."
      :aControls[ 7 ]:cToolTip := "Recuperar cobro de ruta."
      :aControls[ 8 ]:cToolTip := "Aplicar abonos a saldo de prestamos."
      oBtnEditar := :aControls[ 03 ]
      :aControls[ 02 ]:bWhen := {|| Date() == dFecha }
      :aControls[ 03 ]:bWhen := {|| lVer := ( dFecha < Date() ) , TRUE }
      :aControls[ 04 ]:bWhen := {|| Date() == dFecha }
      :aControls[ 07 ]:bWhen := {|| Date() == dFecha }
      :aControls[ 08 ]:bWhen := {|| Date() == dFecha }
   END
RETURN
 

Code: Select all

...
   IF dFecha < Date()
      oBtnEditar:SetText( "&Mostrar" )
      oBtnEditar:cToolTip := "Visualiza datos del registro actual."
   ELSE
      oBtnEditar:SetText( "&Editar" )
      oBtnEditar:cToolTip := "Edita datos del registro actual."
   ENDIF

   lVer := ( dFecha < Date() )

   oToolBar:aEvalWhen()
...
 

Re: atualizar TOOLBAR

Posted: Wed Feb 13, 2019 7:58 pm
by Sistem
carlos vargas deu certo :lol:

muito obrigado