Desactivar el menu con look 2007

Post Reply
User avatar
Pedro
Posts: 457
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Desactivar el menu con look 2007

Post by Pedro »

Hola a todos
Seguro que digo una tonteria, pero, ¿cómo se desactivan los menus y la barra de menu para que no pueda el usuario abrir dos veces la misma ventana?
Antes con FW y Clipper, pasaba el Menu a los módulos, y lo desactivaba, pero ahora me da un error al ponerlo disable, como si el menu no estuviera en ese modulo. He intentado ponerlo STATIC, PUBLIC, MEMVAR, pero da igual, el error es el mismo.
Lo más probable es que ya lo hayais solucionado, pero me perdi la clase.
Un saludo
Pedro
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Desactivar el menu con look 2007

Post by FranciscoA »

Pedro wrote:Hola a todos
Seguro que digo una tonteria, pero, ¿cómo se desactivan los menus y la barra de menu para que no pueda el usuario abrir dos veces la misma ventana?
Antes con FW y Clipper, pasaba el Menu a los módulos, y lo desactivaba, pero ahora me da un error al ponerlo disable, como si el menu no estuviera en ese modulo. He intentado ponerlo STATIC, PUBLIC, MEMVAR, pero da igual, el error es el mismo.
Lo más probable es que ya lo hayais solucionado, pero me perdi la clase.
Un saludo
Pedro

Espero que este pequeño ejemplo te pueda ayudar.

//----------------------------------------------------------------------------//
function BuildMenu()
local oMenu, oItem1,oItem2,oItem3
MENU oMenu
MENUITEM "&Fichero"
MENU
MENUITEM oItem1 PROMPT "Edicion &Orden y/o Factura" ACTION ( oItem1:Disable(),oItem2:Disable(),oMenu:Refresh(),MULTIEQ(oItem1,oItem2,oMenu) ) MESSAGE "Orden entrega de Equipos"

...
...


//-----------------------
Function MULTIEQ(oItem1,oItem2,oMenu)
local oWndCh, oLbx, oBar, cOldSele:=Select()

if !MsgNoYes("ESTA CORRECTA LA HORA Y FECHA DE SU ORDENADOR?","Por Favor confirme")
oItem1:Enable();oItem2:Enable();oMenu:Refresh()
return nil
endif

DEFINE WINDOW oWndCh MDICHILD OF oWnd
@ 0, 0 LISTBOX oLbx FIELDS OF oWndCh ;
FONT oWnd:oFont
DEFINE BUTTON OF oBar RESOURCE "EXIT" NOBORDER TOOLTIP "Salir" ACTION ( oWndCh:End())

oWndCh:SetControl(oLbx)
ACTIVATE WINDOW oWndCh ; //MAXIMIZED
VALID ( oItem1:Enable(),oItem2:Enable(),oMenu:Refresh(), .T.)
dbSelectArea(cOldSele)
RETURN NIL

saludos.
User avatar
Pedro
Posts: 457
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Post by Pedro »

Hola Francisco

No era eso lo que yo necesitaba, pero me diste una buena idea y, solucioné el problema. Muchas gracias.

Un saludo
Pedro
Post Reply