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.

TMemo ... nClrPaneFocus

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TMemo ... nClrPaneFocus

Mensaje por Xevi »

Hola
METHOD FormInitialize( oSender ) CLASS FrmAgenda
....
::oMemo1:nClrPaneFocus := clRed
Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo, y
cuando cambiamos de control pierde el color y retoma el color NoFoco...
Ahora bien... cuando en algun momento de la aplicación
::oMemo1:lEnabled := .F.
No cambia de color, y sigue "pintado" como cuando tiene el Foco...
Un saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

TMemo ... nClrPaneFocus

Mensaje por ignacio »

Xevi,
Creo que precisamente estas describiendo como debería funcionar, es decir,
no hay error:
nClrPaneFocus es el color del control cuando tiene foco; cuando no tiene
foco manda la propiedad nClrPane.
Además cuando deshabilitas el control con lEnabled := .T. entonces es
Windows el que se encarga de poner el color de fondo al típico gris y NUNCA
pueda recibir el foco. Tu comentas que cuando se deshabilita se ve ya
siempre rojo pero yo no he sido capaz de reproducirlo.
A lo mejor es que no te he entendido bien.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:42cbecd7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola
>
> METHOD FormInitialize( oSender ) CLASS FrmAgenda
> ...
> ::oMemo1:nClrPaneFocus := clRed
>
> Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo, y
> cuando cambiamos de control pierde el color y retoma el color NoFoco...
>
> Ahora bien... cuando en algun momento de la aplicación
> ::oMemo1:lEnabled := .F.
>
> No cambia de color, y sigue "pintado" como cuando tiene el Foco...
>
> Un saludo,
> Xevi.
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TMemo ... nClrPaneFocus

Mensaje por Xevi »

Ignacio,
Te adjunto un ejemplo por si te sirve para detectar el posible "fallo".
Hay un Form, con 2 Edits y un Memo.
Cuando situamos el Foco en el Memo, se pone "colorao"... y si cambiamos de
Foco con el Mouse, vuelve al color normal.
Bien, pues si nos encontramos en el Memo y pulsamos ESC, lo que hago es
"inabilitar" el Memo y pasar el Foco al Edit1.
La teoría, sería que el ClrPane del Memo debería de retornar a normal....
pero se queda en "colorao"
Para arreglar esto, lo que se debe hacer es cambiar primero de Foco al
Edit1, y luego cambiar el estado a inabilitado del Memo.
Pero... ¿y un form con un solo Control???
Cuando se desabilita un Control... pierde el Foco ¿no????
O igual soy yo que lo tengo mal entendido !!!
Gracias.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:42cbee91$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> Creo que precisamente estas describiendo como debería funcionar, es decir,
> no hay error:
>
> nClrPaneFocus es el color del control cuando tiene foco; cuando no tiene
> foco manda la propiedad nClrPane.
>
> Además cuando deshabilitas el control con lEnabled := .T. entonces es
> Windows el que se encarga de poner el color de fondo al típico gris y
> NUNCA
> pueda recibir el foco. Tu comentas que cuando se deshabilita se ve ya
> siempre rojo pero yo no he sido capaz de reproducirlo.
>
> A lo mejor es que no te he entendido bien.
>
> Un saludo,
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:42cbecd7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Hola
>>
>> METHOD FormInitialize( oSender ) CLASS FrmAgenda
>> ...
>> ::oMemo1:nClrPaneFocus := clRed
>>
>> Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo, y
>> cuando cambiamos de control pierde el color y retoma el color NoFoco...
>>
>> Ahora bien... cuando en algun momento de la aplicación
>> ::oMemo1:lEnabled := .F.
>>
>> No cambia de color, y sigue "pintado" como cuando tiene el Foco...
>>
>> Un saludo,
>> Xevi.
>>
>>
>
>


Attached files Proves.zip (4.3 KB)Â
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TMemo ... nClrPaneFocus

Mensaje por Xevi »

Otra consulta respecto al Memo...
nClrText, nClrTextFocus... pero
Es posible definir el color en un Memo/Edit cuando está desabilitado...
lEnabled := .F.
Sería posible nClrTextNoEnabled ????
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:42cbecd7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola
>
> METHOD FormInitialize( oSender ) CLASS FrmAgenda
> ...
> ::oMemo1:nClrPaneFocus := clRed
>
> Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo, y
> cuando cambiamos de control pierde el color y retoma el color NoFoco...
>
> Ahora bien... cuando en algun momento de la aplicación
> ::oMemo1:lEnabled := .F.
>
> No cambia de color, y sigue "pintado" como cuando tiene el Foco...
>
> Un saludo,
> Xevi.
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

TMemo ... nClrPaneFocus

Mensaje por ignacio »

Xevi,
El problema está en que estás cambiando el foco tu directamente en un evento
OnExit y no estás parando el mensaje, por lo tanto después de tu cambio de
foco se procesa la operación de saltar al nuevo control. Para parar el
mensaje no tienes más que retornar 0 en vez de NIL.
METHOD DbfBrowse1KeyDown( oSender, nKey, nFlags ) CLASS TForm1
If nKey == VK_RETURN
::oEdit1:SetFocus()
return 0
EndIf
RETURN Nil
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=42cbf856@ozsrvnegro.ozlan.local...]42cbf856@ozsrvnegro.ozlan.local...[/email]
> Ignacio,
>
> Te adjunto un ejemplo por si te sirve para detectar el posible "fallo".
> Hay un Form, con 2 Edits y un Memo.
> Cuando situamos el Foco en el Memo, se pone "colorao"... y si cambiamos de
> Foco con el Mouse, vuelve al color normal.
> Bien, pues si nos encontramos en el Memo y pulsamos ESC, lo que hago es
> "inabilitar" el Memo y pasar el Foco al Edit1.
> La teoría, sería que el ClrPane del Memo debería de retornar a normal....
> pero se queda en "colorao"
>
> Para arreglar esto, lo que se debe hacer es cambiar primero de Foco al
> Edit1, y luego cambiar el estado a inabilitado del Memo.
> Pero... ¿y un form con un solo Control???
> Cuando se desabilita un Control... pierde el Foco ¿no????
>
> O igual soy yo que lo tengo mal entendido !!!
>
> Gracias.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
> news:42cbee91$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>> Creo que precisamente estas describiendo como debería funcionar, es
>> decir,
>> no hay error:
>>
>> nClrPaneFocus es el color del control cuando tiene foco; cuando no tiene
>> foco manda la propiedad nClrPane.
>>
>> Además cuando deshabilitas el control con lEnabled := .T. entonces es
>> Windows el que se encarga de poner el color de fondo al típico gris y
>> NUNCA
>> pueda recibir el foco. Tu comentas que cuando se deshabilita se ve ya
>> siempre rojo pero yo no he sido capaz de reproducirlo.
>>
>> A lo mejor es que no te he entendido bien.
>>
>> Un saludo,
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:42cbecd7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Hola
>>>
>>> METHOD FormInitialize( oSender ) CLASS FrmAgenda
>>> ...
>>> ::oMemo1:nClrPaneFocus := clRed
>>>
>>> Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo,
>>> y
>>> cuando cambiamos de control pierde el color y retoma el color NoFoco...
>>>
>>> Ahora bien... cuando en algun momento de la aplicación
>>> ::oMemo1:lEnabled := .F.
>>>
>>> No cambia de color, y sigue "pintado" como cuando tiene el Foco...
>>>
>>> Un saludo,
>>> Xevi.
>>>
>>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

TMemo ... nClrPaneFocus

Mensaje por Xevi »

Ignacio,
PERFECTO !!!
Gracias, y perdona por mi ignorancia...
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:42ccfcb5$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> El problema está en que estás cambiando el foco tu directamente en un
> evento OnExit y no estás parando el mensaje, por lo tanto después de tu
> cambio de foco se procesa la operación de saltar al nuevo control. Para
> parar el mensaje no tienes más que retornar 0 en vez de NIL.
>
> METHOD DbfBrowse1KeyDown( oSender, nKey, nFlags ) CLASS TForm1
>
> If nKey == VK_RETURN
> ::oEdit1:SetFocus()
> return 0
> EndIf
>
> RETURN Nil
>
> Un saludo,
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=42cbf856@ozsrvnegro.ozlan.local...]42cbf856@ozsrvnegro.ozlan.local...[/email]
>> Ignacio,
>>
>> Te adjunto un ejemplo por si te sirve para detectar el posible "fallo".
>> Hay un Form, con 2 Edits y un Memo.
>> Cuando situamos el Foco en el Memo, se pone "colorao"... y si cambiamos
>> de Foco con el Mouse, vuelve al color normal.
>> Bien, pues si nos encontramos en el Memo y pulsamos ESC, lo que hago es
>> "inabilitar" el Memo y pasar el Foco al Edit1.
>> La teoría, sería que el ClrPane del Memo debería de retornar a normal....
>> pero se queda en "colorao"
>>
>> Para arreglar esto, lo que se debe hacer es cambiar primero de Foco al
>> Edit1, y luego cambiar el estado a inabilitado del Memo.
>> Pero... ¿y un form con un solo Control???
>> Cuando se desabilita un Control... pierde el Foco ¿no????
>>
>> O igual soy yo que lo tengo mal entendido !!!
>>
>> Gracias.
>>
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
>> news:42cbee91$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Xevi,
>>>
>>> Creo que precisamente estas describiendo como debería funcionar, es
>>> decir,
>>> no hay error:
>>>
>>> nClrPaneFocus es el color del control cuando tiene foco; cuando no tiene
>>> foco manda la propiedad nClrPane.
>>>
>>> Además cuando deshabilitas el control con lEnabled := .T. entonces es
>>> Windows el que se encarga de poner el color de fondo al típico gris y
>>> NUNCA
>>> pueda recibir el foco. Tu comentas que cuando se deshabilita se ve ya
>>> siempre rojo pero yo no he sido capaz de reproducirlo.
>>>
>>> A lo mejor es que no te he entendido bien.
>>>
>>> Un saludo,
>>>
>>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>>> news:42cbecd7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>>> Hola
>>>>
>>>> METHOD FormInitialize( oSender ) CLASS FrmAgenda
>>>> ...
>>>> ::oMemo1:nClrPaneFocus := clRed
>>>>
>>>> Bien, pues funciona bien cuando obtienen el Foco se pone de color Rojo,
>>>> y
>>>> cuando cambiamos de control pierde el color y retoma el color NoFoco...
>>>>
>>>> Ahora bien... cuando en algun momento de la aplicación
>>>> ::oMemo1:lEnabled := .F.
>>>>
>>>> No cambia de color, y sigue "pintado" como cuando tiene el Foco...
>>>>
>>>> Un saludo,
>>>> Xevi.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

TMemo ... nClrPaneFocus

Mensaje por jfgimenez »

Xevi,
> nClrText, nClrTextFocus... pero
> Es posible definir el color en un Memo/Edit cuando está desabilitado...
> lEnabled := .F.
>
> Sería posible nClrTextNoEnabled ????
me temo que no. Cuando un edit está desactivado, windows lo pinta como lo
ves, y no permite cambiar el color ni del texto ni del fondo.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

TMemo ... nClrPaneFocus

Mensaje por jfgimenez »

Xevi,
> me temo que no. Cuando un edit está desactivado, windows lo pinta como lo
> ves, y no permite cambiar el color ni del texto ni del fondo.
perdona, quise decir el color del texto. Como ya has comprobado, el color de
fondo sí se puede cambiar.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder