Page 1 of 1
Desabilitar botones de TOutlook2003 ( Solucionado )
Posted: Sat Jan 11, 2020 5:25 pm
by cuatecatl82
Saludos a todos, les deseo un excelente inicio de año, estoy trabajando en un proyectito y estoy ocupando la clase TOutlook2003, va bien pero necesito deshabilitar uno o más botones. Ya estuve probando pero no doy como hacerlo.
También necesitaba que se desabilitara el menú que aparece en el último botón al hacer click, pero eso ya quedó, me atrase con la deshabilitacion de botones.
Algún ejemplo de como lograrlo?
Saludos y gracias de antemano..
Re: Desabilitar botones de TOutlook2003
Posted: Mon Jan 13, 2020 12:05 am
by cuatecatl82
Maestro Antonio Linares:
Alguna sugerencia?
Re: Desabilitar botones de TOutlook2003
Posted: Mon Jan 13, 2020 7:47 am
by Antonio Linares
Victor,
El método SetOption( nOption ) CLASS TOutLook2003 evalúa bChange recibiendo los parámetros nOption y nOldOption
desde el código de bChange puedes comprobar si nOption esta activo ó no y así ejecutar ó no la acción
Para guardar el estado de cada botón puedes modificar la clase TOutLook2003Group y añadirle una DATA lEnabled
Pruébalo asi
Re: Desabilitar botones de TOutlook2003
Posted: Fri Jan 17, 2020 3:33 am
by cuatecatl82
Maestro buenas noches:
Estuve revisando la clase y modificando la sin tener éxito, ya que al agregar la data lEnable no respeta que se deshabilite el grupo botón, al pasar el puntero del mouse sobre los botones reinicia y habilita el botón haciendo posible lanzar de nuevo la acción asociada.
Por lo que entendí en la clase el botón es dibujando como groupbox y actualizado en el método paint en tiempo de ejecución, imposibilitando poder deshabilitar uno o varios botones.
Que otra forma de puede lograr deshabilitar uno o varios botones?
Gracias
Re: Desabilitar botones de TOutlook2003
Posted: Fri Jan 17, 2020 10:04 am
by Antonio Linares
Victor,
Modifica el método AtGroup() así:
Code: Select all
METHOD AtGroup( nRow, nCol ) CLASS TOutLook2003
local nGroupsArea := ::nHeight - ( Len( ::aGroups ) * 32 )
local nGroup
if nRow > nGroupsArea
nGroup = Len( ::aGroups ) - Int( ( ::nHeight - nRow ) / 32 )
if ::aGroups[ nGroup ]:lEnabled
return nGroup
endif
endif
return nil
Añade esta DATA en la clase TOutLook2003Group
DATA lEnabled INIT .T.
y en tu código haz esto:
oOutLook2003:aGroups[ 2 ]:lEnabled = .F.
Re: Desabilitar botones de TOutlook2003
Posted: Fri Jan 17, 2020 2:27 pm
by cuatecatl82
Excelente Maestro:
Funciona al 100, lo estaba modificando en otro lugar por eso no quedaba, gracias como siempre maestraso. Genial.. saludos