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.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>