Ver Mensaje Individual
  #10  
Antiguo 31-05-2012
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
Cita:
Empezado por Jere_84 Ver Mensaje
¿como hacer para que recorra los componentes en el orden en como se presentan en pantalla?
A ver, este recorrido debería poder hacerse con FindNextControl, pero se me complica por el hecho de que este método se cicla en lugar de detenerse en el último control.

Pero esta rutina parece funcionar:

Código Delphi [-]
procedure RecorrerCampos(Formulario: TForm);
var
  Lista: TList;
  I: Integer;

begin
  Lista := TList.Create;

  try
    Formulario.GetTabOrderList(Lista);

    for I := 0 to Lista.Count - 1 do
      if TWinControl(Lista[i]) is TEdit then
         ShowMessage(TEdit(Lista[i]).Text);
  finally
    Lista.Free;
  end;
end;

// Saludos
Responder Con Cita