Delphi - Como se utiliza el "SENDER"

 
Vista:

Como se utiliza el "SENDER"

Publicado por Gelmin Martínez (58 intervenciones) el 11/07/2003 21:16:10
Que tal Amigos mi pregunta es para que sirve el parámetro Sender de tipo TObject que tienen los manipuladores de eventos como:
procedure TMainForm.Cerrar1Click(Sender: TObject); He escuchado por ahí que contiene el objeto que generó el evento pero como puedo utilizarlo diganme un ejemplo de cual es su utilidad...
Es que me imaginé que podía utilizarlo cuando en una barra de herramientas al mover el mouse sobre un toolButton el caption aparesca en la barra de estado, No quiero hacerlo para cada botón de la barra en su evento on mousemove asignar el caption a la barra de estado si no que "Cualquier toolButton que se le acerque el mouse, se asigne su caption a la barra de estado", que creo que sería lo mas correcto. Pero no he podido hacerlo y tengo la impresión de que para eso está el (Sender)...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como se utiliza el

Publicado por Diego Romero (636 intervenciones) el 12/07/2003 17:21:37
Efectivamente así es. Se me ocurre que puedes hacerlo así *No lo he probado*
procedure TForm1.ToolButton1MouseMove(Sender: TObject
Shift: TShiftState; X, Y: Integer);
begin
StatusBarr1.SimpleText:=(Sender as TToolButton).Caption; { o Hint }
end;

Me avisas si funcionó, nunca usé ToolButtons para nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como se utiliza el

Publicado por Fer (269 intervenciones) el 14/07/2003 08:55:36
Lo que te dice el compañero Diego Romero es correcto pero, si lo que quieres es simplemente mostrar un mensaje de ayuda (hint) en la barra de estado, es mejor que utilices el evento OnHint de la clase TApplication. Para ello, también puedes utilizar un objeto "ApplicationEvents" (pestaña Additional). En el evento OnHint escribe simplemente:

StatusBar1.SimpleText := GetLongHint(Application.Hint);

También podrías poner sólo Application.Hint, pero es más elegante este modo porque te permite poner un hint corto y otro largo a los controles.

Por ejemplo si tienes un TEdit para que el usuario escriba un nombre, en su propiedad hint puedes poner: "Nombre|Escriba aquí su nombre".

De este modo, si la propiedad ShowHint está a true, al parar el ratón sobre el edit apareceá "Nombre" mientras que, con la técnica que te describí anteriormente, en la barra de estado aparecerá "Escriba aquí su nombre".

Para saber más, consulta la ayuda sobre el evento OnHint de la clase TApplication, TApplicationEvents, GetLongHint, etc.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar