Tema: Controles
Ver Mensaje Individual
  #8  
Antiguo 04-11-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Otra idea:

El formulario tiene una propiedad ActiveControl, cuyo valor es el control activo en cada momento. En el evento OnExit de un control, ActiveControl contiene ya el control al que se va a desplazar el foco mientras que (Sender as TWinControl) contiene el control que se está abandonando. Entonces, podemos comparar la propiedad TabOrder de ambos controles para saber si estamos avanzando o retrocediendo:

Código Delphi [-]
{
  Asignamos este evento a todos los Edit.
}
procedure TForm1.EditExit(Sender: TObject);
begin
  if ((Sender as TEdit).Text = '') and ((Sender as TWinControl).TabOrder < ActiveControl.TabOrder) then
  begin
    ShowMessage('Falta capturar el dato');
    (Sender as TWinControl).SetFocus;
  end;
end;

// Saludos
Responder Con Cita