Página 1 de 1

TMemo ... nClrPaneFocus

Publicado: Mié Jul 06, 2005 4:38 pm
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.

TMemo ... nClrPaneFocus

Publicado: Mié Jul 06, 2005 4:45 pm
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.
>
>

TMemo ... nClrPaneFocus

Publicado: Mié Jul 06, 2005 5:27 pm
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)Â

TMemo ... nClrPaneFocus

Publicado: Mié Jul 06, 2005 5:37 pm
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.
>
>

TMemo ... nClrPaneFocus

Publicado: Jue Jul 07, 2005 11:58 am
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.
>>>
>>>
>>
>>
>
>
>

TMemo ... nClrPaneFocus

Publicado: Jue Jul 07, 2005 12:13 pm
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.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>

TMemo ... nClrPaneFocus

Publicado: Jue Jul 07, 2005 12:57 pm
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

TMemo ... nClrPaneFocus

Publicado: Jue Jul 07, 2005 12:58 pm
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