Saludos:
He realizado un formulario que contiene en la ToolBar los mismo botones
que están en el ejemplo dos de los Browse de la carpeta Samples, la
navegación por los registros está superada, ahora solo queda dar Altas,Bajas
y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
Cancelar) que activo y desactivo cuando es necesario para las altas y la
edicción de registros, solo me queda saber como desactivar los botones de la
ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo mejor
me aconsejáis que las realice aparte, pero el formulario que es requiere
muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo como
se activa botones de la Toolbar y del menú en un formulario.
José Ramón Castro Polinio.
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.
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.
Activar y desactivar opciones de la ToolBar y del Men
Activar y desactivar opciones de la ToolBar y del Men
José Ramón Castro.
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Activar y desactivar opciones de la ToolBar y del Men
José,
Para desactivar un botón de la toolbar simplemente haz:
oBtn:lEnabled := .F.
En el caso de menús:
oMenuItem:lEnabled := .F.
No obstante si muestras un segundo formulario para la edición con que lo
abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa forma
se impide que el usuario puede seleccionar otra vez el primer formulario
hasta que no salga del segundo.
Saludos,
"José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Saludos:
>
> He realizado un formulario que contiene en la ToolBar los mismo botones
> que están en el ejemplo dos de los Browse de la carpeta Samples, la
> navegación por los registros está superada, ahora solo queda dar
> Altas,Bajas
> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
> Cancelar) que activo y desactivo cuando es necesario para las altas y la
> edicción de registros, solo me queda saber como desactivar los botones de
> la
> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
> mejor
> me aconsejáis que las realice aparte, pero el formulario que es requiere
> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
> como
> se activa botones de la Toolbar y del menú en un formulario.
>
> José Ramón Castro Polinio.
>
>
>
>
Para desactivar un botón de la toolbar simplemente haz:
oBtn:lEnabled := .F.
En el caso de menús:
oMenuItem:lEnabled := .F.
No obstante si muestras un segundo formulario para la edición con que lo
abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa forma
se impide que el usuario puede seleccionar otra vez el primer formulario
hasta que no salga del segundo.
Saludos,
"José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Saludos:
>
> He realizado un formulario que contiene en la ToolBar los mismo botones
> que están en el ejemplo dos de los Browse de la carpeta Samples, la
> navegación por los registros está superada, ahora solo queda dar
> Altas,Bajas
> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
> Cancelar) que activo y desactivo cuando es necesario para las altas y la
> edicción de registros, solo me queda saber como desactivar los botones de
> la
> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
> mejor
> me aconsejáis que las realice aparte, pero el formulario que es requiere
> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
> como
> se activa botones de la Toolbar y del menú en un formulario.
>
> José Ramón Castro Polinio.
>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Activar y desactivar opciones de la ToolBar y del Men
Ignacio:
La desactivación de la ToolBar sin problemas.
Ahora lo del menú nada como dicen los argentinos no me da ni bola, me
lanza siempre error, por lo que creo que lo mejor es que veas el código que
lo genera.
METHOD FormInitialize( oSender ) CLASS TFormComunes
LOCAL oSortMenu
LOCAL oMenu
LOCAL aTags
LOCAL nFor
SET DELETED ON
SET DATE FRENCH
MENU oMenu //oMenu
MENUITEM "&Fichero"
MENU
MENUITEM "&Añadir" ACTION ::AddNew( oSender)
MENUITEM "&Editar"
MENUITEM "&Borrar"
SEPARATOR
MENUITEM "&Imprimir"
MENUITEM "&Configurar Impresora" ACTION Printer:Setup( Self )
SEPARATOR
MENUITEM "&Exit" ACTION ::Close()
ENDMENU
MENUITEM "&Mover"
MENU
MENUITEM "Ir al &Primer Registro" ACTION ::oBrowseComunes:GoTop()
MENUITEM "Ir al &Siguiente Registro" ACTION
::oBrowseComunes:GoDown()
MENUITEM "Ir al &Anterior Registro" ACTION ::oBrowseComunes:GoUp()
MENUITEM "Ir al &Ultimo Registro" ACTION
::oBrowseComunes:GoBottom()
ENDMENU
MENUITEM "&Ayuda"
MENU
MENUITEM "&Acerca de..." ;
ACTION ShellAbout( Application:Handle, Application:cTitle,
;
"Copyright Xailer 2003-2004" )
ENDMENU
ENDMENU
::oMenu := oMenu
oSortMenu := TMenu():Create( Self, .t. )
** Poner los Tag que componen el fichero de Zonas
** en el menú
IF ::oDataSetComunes:lOpen
WITH OBJECT ::oDataSetComunes
::aTags := :GetTags()
:OrdSetFocus( "" )
END
ENDIF
* Obtener todos los Tag del fichero de Zonas
FOR nFor := 1 to len( ::aTags )
WITH OBJECT TMenuItem():New( oSortMenu )
:cText := "Por order de " + ::aTags[ nFor ]
:Cargo := nFor
:OnClick := {|o| ::nTag := o:Cargo }
:Create()
END
NEXT
** Añadir a la ToolBar los elementos de menú
WITH OBJECT ::oToolBar := TToolBar():New( ::oRebar1 )
:lList := .t.
:lAutoSize := .t.
:Create()
::oTagBtn := :AddButton( "", "BMP_SORT",,, "Orden Selecc. :" , {||
::nTag++ }, oSortMenu )
::nTag := 1 // Selecciona el indice 1 del Tag de Zonas
:AddSeparator()
:AddButton( "", "BMP_FIRST",,, "Primer Registro", {||
::oBrowseComunes:GoTop() } )
:AddButton( "", "BMP_PREVIOUS",,, "Anterior Registro",
{||::oBrowseComunes:GoUp() } )
:AddButton( "", "BMP_NEXT",,, "Siguiente Registro", {||
::oBrowseComunes:GoDown() } )
:AddButton( "", "BMP_LAST",,, "Ultimo Registro", {||
::oBrowseComunes:GoBottom() } )
:AddSeparator()
:AddButton( "", "BMP_APPEND",,, "Añadir", { || ::AddNew( oSender ) } )
:AddButton( "", "BMP_EDIT",,, "Editar",)
:AddButton( "", "BMP_DELETE",,, "Borrar",)
:AddSeparator()
:AddButton( "", "XA_BMP_PRINTER",,, "Imprimir", )
:AddButton( "", "XA_BMP_EXIT",,, "Salir", {|| ::Close() } )
END
** Crear el objeto Rebar
WITH OBJECT ::oRebarBand := TRebarBand():New( ::oRebar1 )
:oControl := ::oToolBar
:Create()
END
** Posiciona el Browser en el último registro
WITH OBJECT ::oBrowseComunes
:GoBottom()
END
** Desactivar Botones
::DesactBotones()
RETURN Nil
Cuando pulso sobre añadir en la ToolBar quiero que se desactive esta, cosa
que hace y también el menú para que se quede como un formulario de edicción,
hasta que pulsando en los botones que estan fuera (Grabar y Cancelar ) se
vuelva a restablecer el formulario tal como estaba para poder navegar por
los registros. Con la ToolBar sin problemas esto ya lo hace pero el menú
no, ¿Quizas sea la forma en que he confeccionado el menú?.
Si hago ::oMenu:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
Error BASE/1005 Message not found: TMENU:_LENABLED
Argumentos: ()
Si Hago ::oMenuItem:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
Error BASE/1004 Message not found: FORMCOMUNES:OMENUITEM
Argumentos: ()
José Ramón Castro Polinio.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:432805b6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> José,
>
> Para desactivar un botón de la toolbar simplemente haz:
>
> oBtn:lEnabled := .F.
>
> En el caso de menús:
>
> oMenuItem:lEnabled := .F.
>
> No obstante si muestras un segundo formulario para la edición con que lo
> abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa
> forma
> se impide que el usuario puede seleccionar otra vez el primer formulario
> hasta que no salga del segundo.
>
> Saludos,
>
> "José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
> news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Saludos:
>>
>> He realizado un formulario que contiene en la ToolBar los mismo
>> botones
>> que están en el ejemplo dos de los Browse de la carpeta Samples, la
>> navegación por los registros está superada, ahora solo queda dar
>> Altas,Bajas
>> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
>> Cancelar) que activo y desactivo cuando es necesario para las altas y la
>> edicción de registros, solo me queda saber como desactivar los botones de
>> la
>> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
>> mejor
>> me aconsejáis que las realice aparte, pero el formulario que es requiere
>> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
>> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
>> como
>> se activa botones de la Toolbar y del menú en un formulario.
>>
>> José Ramón Castro Polinio.
>>
>>
>>
>>
>
>
La desactivación de la ToolBar sin problemas.
Ahora lo del menú nada como dicen los argentinos no me da ni bola, me
lanza siempre error, por lo que creo que lo mejor es que veas el código que
lo genera.
METHOD FormInitialize( oSender ) CLASS TFormComunes
LOCAL oSortMenu
LOCAL oMenu
LOCAL aTags
LOCAL nFor
SET DELETED ON
SET DATE FRENCH
MENU oMenu //oMenu
MENUITEM "&Fichero"
MENU
MENUITEM "&Añadir" ACTION ::AddNew( oSender)
MENUITEM "&Editar"
MENUITEM "&Borrar"
SEPARATOR
MENUITEM "&Imprimir"
MENUITEM "&Configurar Impresora" ACTION Printer:Setup( Self )
SEPARATOR
MENUITEM "&Exit" ACTION ::Close()
ENDMENU
MENUITEM "&Mover"
MENU
MENUITEM "Ir al &Primer Registro" ACTION ::oBrowseComunes:GoTop()
MENUITEM "Ir al &Siguiente Registro" ACTION
::oBrowseComunes:GoDown()
MENUITEM "Ir al &Anterior Registro" ACTION ::oBrowseComunes:GoUp()
MENUITEM "Ir al &Ultimo Registro" ACTION
::oBrowseComunes:GoBottom()
ENDMENU
MENUITEM "&Ayuda"
MENU
MENUITEM "&Acerca de..." ;
ACTION ShellAbout( Application:Handle, Application:cTitle,
;
"Copyright Xailer 2003-2004" )
ENDMENU
ENDMENU
::oMenu := oMenu
oSortMenu := TMenu():Create( Self, .t. )
** Poner los Tag que componen el fichero de Zonas
** en el menú
IF ::oDataSetComunes:lOpen
WITH OBJECT ::oDataSetComunes
::aTags := :GetTags()
:OrdSetFocus( "" )
END
ENDIF
* Obtener todos los Tag del fichero de Zonas
FOR nFor := 1 to len( ::aTags )
WITH OBJECT TMenuItem():New( oSortMenu )
:cText := "Por order de " + ::aTags[ nFor ]
:Cargo := nFor
:OnClick := {|o| ::nTag := o:Cargo }
:Create()
END
NEXT
** Añadir a la ToolBar los elementos de menú
WITH OBJECT ::oToolBar := TToolBar():New( ::oRebar1 )
:lList := .t.
:lAutoSize := .t.
:Create()
::oTagBtn := :AddButton( "", "BMP_SORT",,, "Orden Selecc. :" , {||
::nTag++ }, oSortMenu )
::nTag := 1 // Selecciona el indice 1 del Tag de Zonas
:AddSeparator()
:AddButton( "", "BMP_FIRST",,, "Primer Registro", {||
::oBrowseComunes:GoTop() } )
:AddButton( "", "BMP_PREVIOUS",,, "Anterior Registro",
{||::oBrowseComunes:GoUp() } )
:AddButton( "", "BMP_NEXT",,, "Siguiente Registro", {||
::oBrowseComunes:GoDown() } )
:AddButton( "", "BMP_LAST",,, "Ultimo Registro", {||
::oBrowseComunes:GoBottom() } )
:AddSeparator()
:AddButton( "", "BMP_APPEND",,, "Añadir", { || ::AddNew( oSender ) } )
:AddButton( "", "BMP_EDIT",,, "Editar",)
:AddButton( "", "BMP_DELETE",,, "Borrar",)
:AddSeparator()
:AddButton( "", "XA_BMP_PRINTER",,, "Imprimir", )
:AddButton( "", "XA_BMP_EXIT",,, "Salir", {|| ::Close() } )
END
** Crear el objeto Rebar
WITH OBJECT ::oRebarBand := TRebarBand():New( ::oRebar1 )
:oControl := ::oToolBar
:Create()
END
** Posiciona el Browser en el último registro
WITH OBJECT ::oBrowseComunes
:GoBottom()
END
** Desactivar Botones
::DesactBotones()
RETURN Nil
Cuando pulso sobre añadir en la ToolBar quiero que se desactive esta, cosa
que hace y también el menú para que se quede como un formulario de edicción,
hasta que pulsando en los botones que estan fuera (Grabar y Cancelar ) se
vuelva a restablecer el formulario tal como estaba para poder navegar por
los registros. Con la ToolBar sin problemas esto ya lo hace pero el menú
no, ¿Quizas sea la forma en que he confeccionado el menú?.
Si hago ::oMenu:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
Error BASE/1005 Message not found: TMENU:_LENABLED
Argumentos: ()
Si Hago ::oMenuItem:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
Error BASE/1004 Message not found: FORMCOMUNES:OMENUITEM
Argumentos: ()
José Ramón Castro Polinio.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:432805b6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> José,
>
> Para desactivar un botón de la toolbar simplemente haz:
>
> oBtn:lEnabled := .F.
>
> En el caso de menús:
>
> oMenuItem:lEnabled := .F.
>
> No obstante si muestras un segundo formulario para la edición con que lo
> abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa
> forma
> se impide que el usuario puede seleccionar otra vez el primer formulario
> hasta que no salga del segundo.
>
> Saludos,
>
> "José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
> news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Saludos:
>>
>> He realizado un formulario que contiene en la ToolBar los mismo
>> botones
>> que están en el ejemplo dos de los Browse de la carpeta Samples, la
>> navegación por los registros está superada, ahora solo queda dar
>> Altas,Bajas
>> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
>> Cancelar) que activo y desactivo cuando es necesario para las altas y la
>> edicción de registros, solo me queda saber como desactivar los botones de
>> la
>> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
>> mejor
>> me aconsejáis que las realice aparte, pero el formulario que es requiere
>> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
>> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
>> como
>> se activa botones de la Toolbar y del menú en un formulario.
>>
>> José Ramón Castro Polinio.
>>
>>
>>
>>
>
>
José Ramón Castro.
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Activar y desactivar opciones de la ToolBar y del Men
Jose,
MENUITEM oMenuItem CAPTION "&Añadir" ACTION ::AddNew( oSender)
Y luego oMenuItem:Disbled()
Te puede ser muy útil también la clasula WHEN del MENUITEM
#xcommand MENUITEM [ <oItem> <x: CAPTION,TEXT> ] <cText> [ <action: ACTION,
ONCLICK, ON CLICK> <OnClick> ] [ MENU <oSubMenu> ] ;
[ <lDisabled: DISABLED> ] ;
[ <lChecked: CHECKED> ] ;
[ <lGrayed: GRAYED> ] ;
[ <lHilited: HILITED> ] ;
[ <lDefault: DEFAULT> ] ;
[ WHEN <bWhen> ] ;
[ BITMAP <cBitmap> ] ;
[ MESSAGE <cMsg> ] ;
[ <lRight: RIGHT> ] ;
Saludos,
"José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
news:43286bbf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Ignacio:
>
> La desactivación de la ToolBar sin problemas.
> Ahora lo del menú nada como dicen los argentinos no me da ni bola, me
> lanza siempre error, por lo que creo que lo mejor es que veas el código
> que
> lo genera.
>
> METHOD FormInitialize( oSender ) CLASS TFormComunes
> LOCAL oSortMenu
> LOCAL oMenu
> LOCAL aTags
> LOCAL nFor
> SET DELETED ON
> SET DATE FRENCH
> MENU oMenu //oMenu
> MENUITEM "&Fichero"
> MENU
> MENUITEM "&Añadir" ACTION ::AddNew( oSender)
> MENUITEM "&Editar"
> MENUITEM "&Borrar"
> SEPARATOR
> MENUITEM "&Imprimir"
> MENUITEM "&Configurar Impresora" ACTION Printer:Setup( Self )
> SEPARATOR
> MENUITEM "&Exit" ACTION ::Close()
> ENDMENU
> MENUITEM "&Mover"
> MENU
> MENUITEM "Ir al &Primer Registro" ACTION ::oBrowseComunes:GoTop()
> MENUITEM "Ir al &Siguiente Registro" ACTION
> ::oBrowseComunes:GoDown()
> MENUITEM "Ir al &Anterior Registro" ACTION ::oBrowseComunes:GoUp()
> MENUITEM "Ir al &Ultimo Registro" ACTION
> ::oBrowseComunes:GoBottom()
> ENDMENU
> MENUITEM "&Ayuda"
> MENU
> MENUITEM "&Acerca de..." ;
> ACTION ShellAbout( Application:Handle,
> Application:cTitle,
> ;
> "Copyright Xailer 2003-2004" )
> ENDMENU
> ENDMENU
> ::oMenu := oMenu
> oSortMenu := TMenu():Create( Self, .t. )
> ** Poner los Tag que componen el fichero de Zonas
> ** en el menú
> IF ::oDataSetComunes:lOpen
> WITH OBJECT ::oDataSetComunes
> ::aTags := :GetTags()
> :OrdSetFocus( "" )
> END
> ENDIF
> * Obtener todos los Tag del fichero de Zonas
> FOR nFor := 1 to len( ::aTags )
> WITH OBJECT TMenuItem():New( oSortMenu )
> :cText := "Por order de " + ::aTags[ nFor ]
> :Cargo := nFor
> :OnClick := {|o| ::nTag := o:Cargo }
> :Create()
> END
> NEXT
> ** Añadir a la ToolBar los elementos de menú
> WITH OBJECT ::oToolBar := TToolBar():New( ::oRebar1 )
> :lList := .t.
> :lAutoSize := .t.
> :Create()
> ::oTagBtn := :AddButton( "", "BMP_SORT",,, "Orden Selecc. :" , {||
> ::nTag++ }, oSortMenu )
> ::nTag := 1 // Selecciona el indice 1 del Tag de Zonas
> :AddSeparator()
> :AddButton( "", "BMP_FIRST",,, "Primer Registro", {||
> ::oBrowseComunes:GoTop() } )
> :AddButton( "", "BMP_PREVIOUS",,, "Anterior Registro",
> {||::oBrowseComunes:GoUp() } )
> :AddButton( "", "BMP_NEXT",,, "Siguiente Registro", {||
> ::oBrowseComunes:GoDown() } )
> :AddButton( "", "BMP_LAST",,, "Ultimo Registro", {||
> ::oBrowseComunes:GoBottom() } )
> :AddSeparator()
> :AddButton( "", "BMP_APPEND",,, "Añadir", { || ::AddNew(
> oSender ) } )
> :AddButton( "", "BMP_EDIT",,, "Editar",)
> :AddButton( "", "BMP_DELETE",,, "Borrar",)
> :AddSeparator()
> :AddButton( "", "XA_BMP_PRINTER",,, "Imprimir", )
> :AddButton( "", "XA_BMP_EXIT",,, "Salir", {|| ::Close() } )
> END
> ** Crear el objeto Rebar
> WITH OBJECT ::oRebarBand := TRebarBand():New( ::oRebar1 )
> :oControl := ::oToolBar
> :Create()
> END
> ** Posiciona el Browser en el último registro
> WITH OBJECT ::oBrowseComunes
> :GoBottom()
> END
> ** Desactivar Botones
> ::DesactBotones()
> RETURN Nil
>
> Cuando pulso sobre añadir en la ToolBar quiero que se desactive esta, cosa
> que hace y también el menú para que se quede como un formulario de
> edicción,
> hasta que pulsando en los botones que estan fuera (Grabar y Cancelar ) se
> vuelva a restablecer el formulario tal como estaba para poder navegar por
> los registros. Con la ToolBar sin problemas esto ya lo hace pero el menú
> no, ¿Quizas sea la forma en que he confeccionado el menú?.
>
> Si hago ::oMenu:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
> Error BASE/1005 Message not found: TMENU:_LENABLED
> Argumentos: ()
>
> Si Hago ::oMenuItem:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
> Error BASE/1004 Message not found: FORMCOMUNES:OMENUITEM
> Argumentos: ()
>
> José Ramón Castro Polinio.
>
> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
> news:432805b6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> José,
>>
>> Para desactivar un botón de la toolbar simplemente haz:
>>
>> oBtn:lEnabled := .F.
>>
>> En el caso de menús:
>>
>> oMenuItem:lEnabled := .F.
>>
>> No obstante si muestras un segundo formulario para la edición con que lo
>> abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa
>> forma
>> se impide que el usuario puede seleccionar otra vez el primer formulario
>> hasta que no salga del segundo.
>>
>> Saludos,
>>
>> "José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
>> news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Saludos:
>>>
>>> He realizado un formulario que contiene en la ToolBar los mismo
>>> botones
>>> que están en el ejemplo dos de los Browse de la carpeta Samples, la
>>> navegación por los registros está superada, ahora solo queda dar
>>> Altas,Bajas
>>> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
>>> Cancelar) que activo y desactivo cuando es necesario para las altas y
>>> la
>>> edicción de registros, solo me queda saber como desactivar los botones
>>> de
>>> la
>>> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
>>> mejor
>>> me aconsejáis que las realice aparte, pero el formulario que es requiere
>>> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
>>> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
>>> como
>>> se activa botones de la Toolbar y del menú en un formulario.
>>>
>>> José Ramón Castro Polinio.
>>>
>>>
>>>
>>>
>>
>>
>
>
MENUITEM oMenuItem CAPTION "&Añadir" ACTION ::AddNew( oSender)
Y luego oMenuItem:Disbled()
Te puede ser muy útil también la clasula WHEN del MENUITEM
#xcommand MENUITEM [ <oItem> <x: CAPTION,TEXT> ] <cText> [ <action: ACTION,
ONCLICK, ON CLICK> <OnClick> ] [ MENU <oSubMenu> ] ;
[ <lDisabled: DISABLED> ] ;
[ <lChecked: CHECKED> ] ;
[ <lGrayed: GRAYED> ] ;
[ <lHilited: HILITED> ] ;
[ <lDefault: DEFAULT> ] ;
[ WHEN <bWhen> ] ;
[ BITMAP <cBitmap> ] ;
[ MESSAGE <cMsg> ] ;
[ <lRight: RIGHT> ] ;
Saludos,
"José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
news:43286bbf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Ignacio:
>
> La desactivación de la ToolBar sin problemas.
> Ahora lo del menú nada como dicen los argentinos no me da ni bola, me
> lanza siempre error, por lo que creo que lo mejor es que veas el código
> que
> lo genera.
>
> METHOD FormInitialize( oSender ) CLASS TFormComunes
> LOCAL oSortMenu
> LOCAL oMenu
> LOCAL aTags
> LOCAL nFor
> SET DELETED ON
> SET DATE FRENCH
> MENU oMenu //oMenu
> MENUITEM "&Fichero"
> MENU
> MENUITEM "&Añadir" ACTION ::AddNew( oSender)
> MENUITEM "&Editar"
> MENUITEM "&Borrar"
> SEPARATOR
> MENUITEM "&Imprimir"
> MENUITEM "&Configurar Impresora" ACTION Printer:Setup( Self )
> SEPARATOR
> MENUITEM "&Exit" ACTION ::Close()
> ENDMENU
> MENUITEM "&Mover"
> MENU
> MENUITEM "Ir al &Primer Registro" ACTION ::oBrowseComunes:GoTop()
> MENUITEM "Ir al &Siguiente Registro" ACTION
> ::oBrowseComunes:GoDown()
> MENUITEM "Ir al &Anterior Registro" ACTION ::oBrowseComunes:GoUp()
> MENUITEM "Ir al &Ultimo Registro" ACTION
> ::oBrowseComunes:GoBottom()
> ENDMENU
> MENUITEM "&Ayuda"
> MENU
> MENUITEM "&Acerca de..." ;
> ACTION ShellAbout( Application:Handle,
> Application:cTitle,
> ;
> "Copyright Xailer 2003-2004" )
> ENDMENU
> ENDMENU
> ::oMenu := oMenu
> oSortMenu := TMenu():Create( Self, .t. )
> ** Poner los Tag que componen el fichero de Zonas
> ** en el menú
> IF ::oDataSetComunes:lOpen
> WITH OBJECT ::oDataSetComunes
> ::aTags := :GetTags()
> :OrdSetFocus( "" )
> END
> ENDIF
> * Obtener todos los Tag del fichero de Zonas
> FOR nFor := 1 to len( ::aTags )
> WITH OBJECT TMenuItem():New( oSortMenu )
> :cText := "Por order de " + ::aTags[ nFor ]
> :Cargo := nFor
> :OnClick := {|o| ::nTag := o:Cargo }
> :Create()
> END
> NEXT
> ** Añadir a la ToolBar los elementos de menú
> WITH OBJECT ::oToolBar := TToolBar():New( ::oRebar1 )
> :lList := .t.
> :lAutoSize := .t.
> :Create()
> ::oTagBtn := :AddButton( "", "BMP_SORT",,, "Orden Selecc. :" , {||
> ::nTag++ }, oSortMenu )
> ::nTag := 1 // Selecciona el indice 1 del Tag de Zonas
> :AddSeparator()
> :AddButton( "", "BMP_FIRST",,, "Primer Registro", {||
> ::oBrowseComunes:GoTop() } )
> :AddButton( "", "BMP_PREVIOUS",,, "Anterior Registro",
> {||::oBrowseComunes:GoUp() } )
> :AddButton( "", "BMP_NEXT",,, "Siguiente Registro", {||
> ::oBrowseComunes:GoDown() } )
> :AddButton( "", "BMP_LAST",,, "Ultimo Registro", {||
> ::oBrowseComunes:GoBottom() } )
> :AddSeparator()
> :AddButton( "", "BMP_APPEND",,, "Añadir", { || ::AddNew(
> oSender ) } )
> :AddButton( "", "BMP_EDIT",,, "Editar",)
> :AddButton( "", "BMP_DELETE",,, "Borrar",)
> :AddSeparator()
> :AddButton( "", "XA_BMP_PRINTER",,, "Imprimir", )
> :AddButton( "", "XA_BMP_EXIT",,, "Salir", {|| ::Close() } )
> END
> ** Crear el objeto Rebar
> WITH OBJECT ::oRebarBand := TRebarBand():New( ::oRebar1 )
> :oControl := ::oToolBar
> :Create()
> END
> ** Posiciona el Browser en el último registro
> WITH OBJECT ::oBrowseComunes
> :GoBottom()
> END
> ** Desactivar Botones
> ::DesactBotones()
> RETURN Nil
>
> Cuando pulso sobre añadir en la ToolBar quiero que se desactive esta, cosa
> que hace y también el menú para que se quede como un formulario de
> edicción,
> hasta que pulsando en los botones que estan fuera (Grabar y Cancelar ) se
> vuelva a restablecer el formulario tal como estaba para poder navegar por
> los registros. Con la ToolBar sin problemas esto ya lo hace pero el menú
> no, ¿Quizas sea la forma en que he confeccionado el menú?.
>
> Si hago ::oMenu:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
> Error BASE/1005 Message not found: TMENU:_LENABLED
> Argumentos: ()
>
> Si Hago ::oMenuItem:lEnabled := .F. me dice TFORMCOMUNES:ADDNEW(313)
> Error BASE/1004 Message not found: FORMCOMUNES:OMENUITEM
> Argumentos: ()
>
> José Ramón Castro Polinio.
>
> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
> news:432805b6$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> José,
>>
>> Para desactivar un botón de la toolbar simplemente haz:
>>
>> oBtn:lEnabled := .F.
>>
>> En el caso de menús:
>>
>> oMenuItem:lEnabled := .F.
>>
>> No obstante si muestras un segundo formulario para la edición con que lo
>> abras en modo modal es suficiente ( oForm:ShowModal() ), ya que de esa
>> forma
>> se impide que el usuario puede seleccionar otra vez el primer formulario
>> hasta que no salga del segundo.
>>
>> Saludos,
>>
>> "José R.Castro" <JRCPOLI@terra.es> escribió en el mensaje
>> news:4327fbdf$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Saludos:
>>>
>>> He realizado un formulario que contiene en la ToolBar los mismo
>>> botones
>>> que están en el ejemplo dos de los Browse de la carpeta Samples, la
>>> navegación por los registros está superada, ahora solo queda dar
>>> Altas,Bajas
>>> y Editarlos, para lo cual he añadido dos botones al formulario (Grabar,
>>> Cancelar) que activo y desactivo cuando es necesario para las altas y
>>> la
>>> edicción de registros, solo me queda saber como desactivar los botones
>>> de
>>> la
>>> ToolBar y las opciones del menú cuando realice esas dos tareas, o a lo
>>> mejor
>>> me aconsejáis que las realice aparte, pero el formulario que es requiere
>>> muchos datos y hacer otro para tener lo mismo sería incrementar mucho el
>>> ejecutable.¿ Que opinión os merece ? ¿ que es lo mejor ?, y sobre todo
>>> como
>>> se activa botones de la Toolbar y del menú en un formulario.
>>>
>>> José Ramón Castro Polinio.
>>>
>>>
>>>
>>>
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com