Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2010
goduquez goduquez is offline
Miembro
NULL
 
Registrado: mar 2007
Posts: 20
Poder: 0
goduquez Va por buen camino
Saber de que objeto viene cuando llega a otro

Desearia saber que objeto tenia el foco cuando se pociciona en otro.
Es decir:
Si tengo X número de Teditx.text y hago click en Tedit1.text, como se donde estaba antes o de donde viene?

Saludos.
Responder Con Cita
  #2  
Antiguo 07-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.209
Poder: 31
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 goduquez.

Una forma es que se me ocurre es usar el evento OnActiveControlChange para almacenar el control que posee el foco.
Así podrías verificar de que control viene en el evento OnEnter de cada control. Para lo cuál uso un único procedimiento ControlEnter.

El código de ejemplo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    RadioButton1: TRadioButton;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure ControlEnter(Sender: TObject); // Asignar al evento OnEnter de cada control
  private
    FControl: TControl;
    procedure ActiveControlChange(Sender: TObject);
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange:= ActiveControlChange;
end;

{ Almacenar el control activo en FControl }
procedure TForm1.ActiveControlChange(Sender: TObject);
begin
   FControl:= Self.ActiveControl;
end;

{ Mostrar el nombre del control precedente }
procedure TForm1.ControlEnter(Sender: TObject);
begin
  if Assigned(FControl) then
    Caption:= 'Viene de ' + FControl.Name; 
end;
...

Saludos.

Última edición por ecfisa fecha: 07-12-2010 a las 09:15:50.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿Cuando puedo acceder a las variables de un objeto? ElDuc OOP 2 21-09-2010 11:21:16
Saber si se ha creado un objeto Cecilio Varios 30 15-11-2008 13:11:13
Crear objetos dentro de otro objeto. Nieto OOP 5 28-11-2007 23:09:12
Cómo saber si un objeto ha sido destruido Io PHP 6 21-10-2007 16:03:07
¿Puedo usar un objeto de la VCL.NET en otro entorno de desarrollo? sarackganda .NET 2 01-07-2005 15:11:50


La franja horaria es GMT +2. Ahora son las 21:12:25.


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