![Sad :(](./images/smilies/icon_sad.gif)
Adriano C. C.
acc69@hotmail.com
ACC69 wrote:Hola amigos del foro, como deshabilitar cada modulo usando ejemplo: oMenu:Altas:Disable() y volver habilitar nuevamente, estoy usando ventanas hijas y que el usuario no pueda volver abrir el mismo módulo nuevamente, o si alguien tiene alguna rutina que me pueda ayudar o un ejemplo de codigo ? en mi programa lo deshabilita, pero no logro habilitar nuevamente ya intente de varias formas y nada, les agradecere su ayuda inmediata gracias
Adriano C. C.
acc69@hotmail.com
Armando Picon wrote:Utiliza la variable cargo que tienen los objetos Ventanas. Ejemplo
if ASCAN( oWndMain:oWndClient:aWnd, {|x| x:cargo == "VENTAS"} ) == 0 // comparas si ya existe x:cargo devuelve cero
// si es cero significa que x:cargo está vacio y por eso entra en esta rama
/*
Aqui viene tu codigo para trabajar la ventana hija
*/
oWndVta:cargo := "VENTAS" // se asigna por primera vez x:cargo con lo que quieras
ACTIVATE WINDOW oWndVta
oFont:end()
oFont2:end()
DBSELECTAREA("Stock")
*
ELSE // como ya x:cargo tiene valor solo reactiva la ventana y no se vuelve a cargar nuevamente.
oWndVta:SetFocus()
oWndVta:restore()
oWndVta:refresh()
ENDIF
RETURN
Espero te sirva como plantilla. Hay otras soluciones pero esta es a prueba de "cañones y palurdos"ACC69 wrote:Hola amigos del foro, como deshabilitar cada modulo usando ejemplo: oMenu:Altas:Disable() y volver habilitar nuevamente, estoy usando ventanas hijas y que el usuario no pueda volver abrir el mismo módulo nuevamente, o si alguien tiene alguna rutina que me pueda ayudar o un ejemplo de codigo ? en mi programa lo deshabilita, pero no logro habilitar nuevamente ya intente de varias formas y nada, les agradecere su ayuda inmediata gracias
Adriano C. C.
acc69@hotmail.com
MENUITEM "&Ingresar" ACTION (FormaPago( oMenuItem )) RESOURCE "BTNARTICU"
function FormaPago( oMenuItem )
oMenuItem:Disabled()
bla...ble
bla.. bla..
etc..
oMenuItem:Enabled()
return nil
ACC69 wrote:Armando Picon wrote:Utiliza la variable cargo que tienen los objetos Ventanas. Ejemplo
if ASCAN( oWndMain:oWndClient:aWnd, {|x| x:cargo == "VENTAS"} ) == 0 // comparas si ya existe x:cargo devuelve cero
// si es cero significa que x:cargo está vacio y por eso entra en esta rama
/*
Aqui viene tu codigo para trabajar la ventana hija
*/
oWndVta:cargo := "VENTAS" // se asigna por primera vez x:cargo con lo que quieras
ACTIVATE WINDOW oWndVta
oFont:end()
oFont2:end()
DBSELECTAREA("Stock")
*
ELSE // como ya x:cargo tiene valor solo reactiva la ventana y no se vuelve a cargar nuevamente.
oWndVta:SetFocus()
oWndVta:restore()
oWndVta:refresh()
ENDIF
RETURN
Espero te sirva como plantilla. Hay otras soluciones pero esta es a prueba de "cañones y palurdos"ACC69 wrote:Hola amigos del foro, como deshabilitar cada modulo usando ejemplo: oMenu:Altas:Disable() y volver habilitar nuevamente, estoy usando ventanas hijas y que el usuario no pueda volver abrir el mismo módulo nuevamente, o si alguien tiene alguna rutina que me pueda ayudar o un ejemplo de codigo ? en mi programa lo deshabilita, pero no logro habilitar nuevamente ya intente de varias formas y nada, les agradecere su ayuda inmediata gracias
Adriano C. C.
acc69@hotmail.com
El chiste es abrir el modulo y deshabilitar mientras que el usuario haga ciertos procesos y al terminar y cerrar el modulo, que se habilite regresando al menu, porque muchas veces el usuario se le olvida que tiene minimizado x modulo y sin darse cuenta, vuelve abrir mismo modulo, porque es una ventana MDIChld
Esto es un ejemplo de poner disable al seleccionar el modulo
MENU
MENUITEM oItem[07] Prompt "&Referencias y proveedores" ACTION AccModul(BUSCAR1(),oItem[07]) ;
MESSAGE "Búsqueda de referencias"
ENDMENU
Y esta la rutina de deshabilitar x modulo del menu
//------------------------------------------------------------------------------
FUNCTION AccModul(bFunction,oItem)
oItem:Disable()
return nil
Ahora como logro habilitar nuevamente, cuando el usuario termine de usar el modulo .
Les agradecere su ayuda gracias
Adriano
Function VentanaHija
STATIC oWnd := NIL
IF oWnd == NIL
Define Window oWnd.... bla bla bla MDICHILD OF ....
... bla
... bla
... bla
ACTIVATE WINDOW ..... bla bla bla .... [b]VALID (oWnd:= NIL)[/b] // esta es la importante
ELSE
oWnd:SetFocus()
oWnd:restore()
ENDIF
Armando Picon wrote:Bueno... por ahí va la cosa. Al final el usuario no se va ha enterar si se ha utilizado un misil para matar la paloma!!!
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 42 guests