Ver Mensaje Individual
  #9  
Antiguo 26-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Livey.

A ver...

La cuestión es quien tiene el foco y si tiene o nó declarada una respuesta en el evento.

Lo que yo quiero decir es que si cada control tiene asignado algo a sus eventos OnClick y OnExit, y estando en un control en particular, si se hace click sobre el otro, el orden de disparo de los eventos es:

1) Control1.OnExit.
2) Control2.OnClick.

Ahora, ¿ Como puede pasar lo que sucede ?

La única manera que me ocurre es:
Tenemos dos controles Ctrl1 y Ctrl2 y tienen sus eventos asignados de este modo.
Ctrl1:
Código Delphi [-]
procedure Ctrl1Click(Sender: TObject);
begin
  ShowMessage('Ctrl1 OnClick');
end;

Ctrl1.OnExit = nil (ningún evento asignado)

Ctrl2:
Código Delphi [-]
procedure Ctrl2Click(Sender: TObject);
begin
  ShowMessage('Ctrl2 OnClick');
end;

procedure Ctrl2Exit(Sender: TObject);
begin
  ShowMessage('Ctrl2 OnExit');
end;

Ahora supongamos que estamos con foco en Ctrl1. Si hago click sobre Ctrl2, es lógico que no voy a recibir respuesta del evento
Ctrl1.OnExit y sí el mensaje 'Ctrl2 OnClick'.

Saludos.

Última edición por ecfisa fecha: 26-08-2010 a las 21:26:26.
Responder Con Cita