Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 29-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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 Oscar.

Ajustando el bosquejo anterior para su uso con los edits, quedaría:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    ...
  private
    procedure ActiveControlChange(Sender: TObject);
  end;
...

implementation

uses TypInfo;

var
  PrevFocusCtrl: TWinControl;
  MaxTO: Integer = -2;

procedure TForm1.ActiveControlChange(Sender: TObject);
begin
  PrevFocusCtrl:= Screen.ActiveControl;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i, tbo:integer;
  PInfo: PPropInfo;
begin
  for i:= 0 to ControlCount-1 do
    if Assigned(GetPropInfo(Controls[i].ClassInfo, 'TabOrder')) then
    begin
      // Obtener máximo TabOrder
      tbo:= GetOrdProp(Controls[i], 'TabOrder');
      if tbo > MaxTO then MaxTO:= tbo;
      // Asignar evento a los edits
      if Controls[i].ClassType = TEdit then
        TEdit(Controls[i]).OnExit:= EditsExit;
    end;
  PrevFocusCtrl:= Screen.ActiveControl;
  Screen.OnActiveControlChange:= ActiveControlChange;
end;

procedure TForm1.EditsExit(Sender: TObject);
begin
  if (ActiveControl.TabOrder > PrevFocusCtrl.TabOrder) then
  begin
    // Aqui podes poner el proceso de validación, por ejemplo:
    try
      StrToFloat(TEdit(PrevFocusCtrl).Text);
    except
      PrevFocusCtrl.SetFocus;
      MessageBox(0,PChar('Error validando '+PrevFocusCtrl.Name),'',MB_ICONERROR);
    end;
  end;
end;
Excepto que no tengas en mente permitir el uso del mouse en la pantalla de ingreso... En cuyo caso bastaría con evaluar las combinaciones de teclas que indicas en tu mensaje.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Busqueda con FindDialog hacia arriba Arkaz OOP 3 20-04-2010 17:58:00
Mostrar los datos por n columnas hacia abajo enecumene PHP 5 20-11-2008 21:59:36
Arrastrar documento hacia icono ¿Cómo? rafadf Varios 3 25-01-2007 12:20:56
arriba o abajo del Interface elcigarra Varios 1 18-01-2006 17:27:32
Como Capturar Las Flechas Arriba/abajo Presionadas MITOPE Varios 3 17-05-2004 20:51:55


La franja horaria es GMT +2. Ahora son las 16:43:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi