Página 1 de 1

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 1:17 pm
por joseluis
Hola,
Mirad este proyecto. Todos los controles edit tienen la propiedad
cMessage con un valor. Los dos botones tienen la propiedad cMessage en
blanco. La estatus bar tiene un panel con el cText con un valor.
¿Como puedo hacer que, al llegar a uno de los botones, aparezca el cText
del Panel? Ahora lo que veo es el último cMessage que se pintó.
Saludos y gracias por vuestra ayuda,
José Luis Capel
--

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 1:46 pm
por jfgimenez
José Luis,
> Mirad este proyecto. Todos los controles edit tienen la propiedad
> cMessage con un valor. Los dos botones tienen la propiedad cMessage en
> blanco. La estatus bar tiene un panel con el cText con un valor.
>
> ¿Como puedo hacer que, al llegar a uno de los botones, aparezca el cText
> del Panel? Ahora lo que veo es el último cMessage que se pintó.
Me temo que cuando pasas por un control con cMessage, ese texto se asigna a
la statusbar, y se pierde el texto original. Así que no hay forma de poner
de nuevo ese texto.
Lo único que se me ocurre que puedes hacer es escribir el evento
OnChangeFocus del formulario con algo así:
METHOD FormChangeFocus( oSender, oPrevCtl, oNextCtl ) CLASS TForm2
IF oNextCtl != Nil .AND. Empty( oNextCtl:cMessage )
::oStatusBar1:SetText( 1, "Mensaje por defecto" )
ENDIF
RETURN Nil
--
Un saludo,
José F. Giménez

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 4:59 pm
por joseluis
José,
Gracias.
Funcionarí­a haciendo ::oButton1:cMessage := SPACE(20) (por ejemplo)????
Así­ mostrarí­a espacios en blanco ;-)
Saludos,
José Luis Capel
Jose F. Gimenez escribió:
> José Luis,
>
>
>>Mirad este proyecto. Todos los controles edit tienen la propiedad
>>cMessage con un valor. Los dos botones tienen la propiedad cMessage en
>>blanco. La estatus bar tiene un panel con el cText con un valor.
>>
>>¿Como puedo hacer que, al llegar a uno de los botones, aparezca el cText
>>del Panel? Ahora lo que veo es el último cMessage que se pintó.
>
>
> Me temo que cuando pasas por un control con cMessage, ese texto se asigna a
> la statusbar, y se pierde el texto original. Así­ que no hay forma de poner
> de nuevo ese texto.
>
> Lo único que se me ocurre que puedes hacer es escribir el evento
> OnChangeFocus del formulario con algo así­:
>
> METHOD FormChangeFocus( oSender, oPrevCtl, oNextCtl ) CLASS TForm2
> IF oNextCtl != Nil .AND. Empty( oNextCtl:cMessage )
> ::oStatusBar1:SetText( 1, "Mensaje por defecto" )
> ENDIF
> RETURN Nil
>
>

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 5:09 pm
por joseluis
Me respondo... funciona!!
Ahora, desde el ide, como asigno un valor que son espacios en blanco??
Saludos,
José Luis Capel
José Luis Capel escribió:
> José,
>
> Gracias.
>
> Funcionarí­a haciendo ::oButton1:cMessage := SPACE(20) (por ejemplo)????
>
> Así­ mostrarí­a espacios en blanco ;-)
>
> Saludos,
> José Luis Capel
>
>
> Jose F. Gimenez escribió:
>
>> José Luis,
>>
>>
>>> Mirad este proyecto. Todos los controles edit tienen la propiedad
>>> cMessage con un valor. Los dos botones tienen la propiedad cMessage en
>>> blanco. La estatus bar tiene un panel con el cText con un valor.
>>>
>>> ¿Como puedo hacer que, al llegar a uno de los botones, aparezca el cText
>>> del Panel? Ahora lo que veo es el último cMessage que se pintó.
>>
>>
>>
>> Me temo que cuando pasas por un control con cMessage, ese texto se
>> asigna a la statusbar, y se pierde el texto original. Así­ que no hay
>> forma de poner de nuevo ese texto.
>>
>> Lo único que se me ocurre que puedes hacer es escribir el evento
>> OnChangeFocus del formulario con algo así­:
>>
>> METHOD FormChangeFocus( oSender, oPrevCtl, oNextCtl ) CLASS TForm2
>> IF oNextCtl != Nil .AND. Empty( oNextCtl:cMessage )
>> ::oStatusBar1:SetText( 1, "Mensaje por defecto" )
>> ENDIF
>> RETURN Nil
>>
>>

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 6:31 pm
por jfgimenez
José Luis,
> Funcionaría haciendo ::oButton1:cMessage := SPACE(20) (por ejemplo)????
>
> Así mostraría espacios en blanco ;-)
También puedes poner ::oButton1:cMessage := ""
--
Un saludo,
José F. Giménez

Statusbar u cMessage

Publicado: Vie Nov 25, 2005 6:33 pm
por jfgimenez
José Luis,
> Me respondo... funciona!!
>
> Ahora, desde el ide, como asigno un valor que son espacios en blanco??
Pon "", es decir, dos caracteres de comillas, sin nada dentro.
--
Un saludo,
José F. Giménez