Agregar Message Bar a Dialogo

Agregar Message Bar a Dialogo

Postby Compuin » Mon Mar 15, 2021 4:15 pm

Hola Foro

Existe algun parametro para configurar en un Dialogo que me permita mostrar una Barra de status o mensajes ?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Agregar Message Bar a Dialogo

Postby carlos vargas » Mon Mar 15, 2021 4:36 pm

Usualmente cuando deseamos agregar elementos tales como toolbar o message bar a un dialogo, se debera hacer en la clausula on init de la activacion de dialogo, que es cunado ya esta creado el dialogo.
Code: Select all  Expand view  RUN

...
define dialog oDlg ...
 define get ...
activate dialog oDlg on init AddOthers( oDlg )
...
function AddOthers( oDlg )
 define toolbar ... Of oDlg
 define msgbar ... Of oDlg
return .f.
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Agregar Message Bar a Dialogo

Postby Compuin » Mon Mar 15, 2021 4:38 pm

carlos vargas wrote:Usualmente cuando deseamos agregar elementos tales como toolbar o message bar a un dialogo, se debera hacer en la clausula on init de la activacion de dialogo, que es cunado ya esta creado el dialogo.
Code: Select all  Expand view  RUN

...
define dialog oDlg ...
 define get ...
activate dialog oDlg on init AddOthers( oDlg )
...
function AddOthers( oDlg )
 define toolbar ... Of oDlg
 define msgbar ... Of oDlg
return .f.
 


Hola Carlos, ya lo intente pero no refresca si le quiero dar uso a los mensajes

Tampoco se ajusta el browser sino que lo solapa
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Agregar Message Bar a Dialogo

Postby carlos vargas » Mon Mar 15, 2021 8:36 pm

Asi lo uso, sin problemas.
Code: Select all  Expand view  RUN


PROCEDURE Ruta()
   PRIVATE oError
   PRIVATE oDlg, oBrw, oToolbar
   PRIVATE oQryCobr, oQryRuta


   oServer:lThrowError := TRUE
   TRY
      oQryCobr := oServer:Query( "SELECT num_cobr, nombre FROM cobradores ORDER BY num_cobr" )
      oQryRuta := oServer:Query( "SELECT a.num_cobr, a.num_ruta, a.nombre, b.nombre AS nom_cobr FROM rutascobro AS a LEFT JOIN cobradores AS b ON a.num_cobr=b.num_cobr ORDER BY a.num_ruta" )
   CATCH oError
      ShowError( oError, { oQryCobr, oQryRuta } )
      RETURN
   END
   oServer:lThrowError := FALSE

   oQryRuta:GoTop()

   DEFINE DIALOG oDlg NAME "DLG_RUTAC" OF oMainWnd ICON GetIcon() FONT oFontD

   REDEFINE XBROWSE oBrw DATASOURCE oQryRuta ID 101 OF oDlg ;
      HEADERS "Número", "Nombre de ruta de cobro", "Cobrador" ;
      COLUMNS "NUM_RUTA", "NOMBRE", "NOM_COBR" ;
      SIZES 080, 220, 220 ;
      PICTURES "@L 9999", NIL, NIL ;
      JUSTIFY AL_CENTER, NIL, NIL ;
      ON DBLCLICK IIf( !oQryRuta:Eof(), Ruta_Editar( FALSE ), NIL ) FONT oFontB AUTOSORT

   WITH OBJECT oBrw
      :MyConfig()
      :aCols[ 01 ]:nHeadStrAlign := AL_CENTER
      :aCols[ 02 ]:nHeadStrAlign := AL_LEFT
      :aCols[ 01 ]:cSortOrder    := "a.num_ruta"
      :aCols[ 02 ]:cSortOrder    := "a.nombre"
      :aCols[ 01 ]:bClrHeader    := {|| { CLR_RED, CLR_BROWTIT } }
      :aCols[ 02 ]:bClrHeader    := {|| { CLR_RED, CLR_BROWTIT } }
      :bKeyChar      := {|nKey| QBrowse_OnKeyCharPress( nKey, oBrw, TRUE, oQryRuta ) }
      :bKeyDown      := {|nKey| Ruta_ProcesaTecla( nKey ) }
      :lHScroll      := FALSE
      :nHeaderHeight := 36
      :nFreeze       := 3
   END

   ACTIVATE DIALOG oDlg ON INIT Ruta_Toolbar()

   CloseQuerys( { oQryCobr, oQryRuta } )

RETURN

/*-------------------------------------------------------------------------------------------------*/

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

   DEFINE BUTTONBAR oToolBar OF oDlg SIZE (60*nScale), 60 2015 CURSOR oCursor

   DEFINE BUTTON NAME "TB2_EXIT"        OF oToolBar ACTION oDlg:End()               PROMPT "&Salir"
   DEFINE BUTTON NAME "TB2_ADD"         OF oToolBar ACTION Ruta_Editar( TRUE  )     PROMPT "&Nuevo" GROUP
   DEFINE BUTTON NAME "TB2_EDIT"        OF oToolBar ACTION Ruta_Editar( FALSE )     PROMPT "&Editar"
   DEFINE BUTTON NAME "TB2_DELETE"      OF oToolBar ACTION Ruta_Borrar()            PROMPT "&Borrar"
   DEFINE BUTTON NAME "TB2_COLLECTIONS" OF oToolBar ACTION Ruta_Cartera()           PROMPT "&Cartera" GROUP

   SET MSGBAR OF oDlg TO "INS=Nuevo, DEL=Borrar, ENTER=Editar, F2=Cartera, F9=Refrescar" 2015 FONT oFontS

   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 := "Cartera de cobro de la ruta actual."
   END

RETURN

/*-------------------------------------------------------------------------------------------------*/

STATIC PROCEDURE Ruta_ProcesaTecla( nKey )

   DO CASE
   CASE nKey == VK_INSERT
      Ruta_Editar( TRUE  )
   CASE nKey == VK_RETURN
      Ruta_Editar( FALSE )
   CASE nKey == VK_DELETE
      Ruta_Borrar()
   CASE nKey == VK_F2
      Ruta_Cartera()
   CASE nKey == VK_F9
      UpdateBrowse( oQryRuta, oBrw )
   ENDCASE

RETURN

 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1721
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 27 guests