Hola Foro
Existe algun parametro para configurar en un Dialogo que me permita mostrar una Barra de status o mensajes ?
...
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.
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.
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
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 27 guests