Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 27-11-2009
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,
tienes un error de concepto. Si le estas pasando el objeto que quieres darle el foco, ¿para que lo vuelves a buscar con findcomponent?

Código Delphi [-]
procedure EstablecerFoco(Formulario : TForm; Control : TWinControl);
begin
   Try
     Formulario.FindComponent('Control') as TWinControl;
     Formulario.Control.SetFocus;
   Except
     MessageDlg('No se lozalizo el control ' + Control.Name, mtInformation,[mbOk], 0);
   End;
end;

aparte que tendrias que usar el control.Name. Ten en cuenta que una cosa es el nombre del objeto, y otra el de la variable con el que tu estas trabajando:

Código Delphi [-]
var 
   o1 : TControl;
   o2 : TControl;
   r : TControl;
   edit1 : TEdit;
begin
   o1 := TControl.Create(self);
   o2 := TControl.Create(self);
   ...
   o1.Name := 'control';
   o2.Name := 'o1';

   r := FindComponent(o2.Name) as Tcontrol; // r sera o2
   r := FindComponent(o1.Name) as Tcontrol; // r sera o1
   r := FindComponent('o1') as Tcontrol // r sera o2
   r := FindComponent('control') as TControl // r sera o1
end;

para lo que quieres hacer, con la funcion que tienes, tansolo debes hacer

Código Delphi [-]
procedure EstablecerFoco(Control : TWinControl);
begin
   if assigned(Control) then Control.SetFocus;
end;

y si quieres encontrar algun objeto por su nombre entonces

Código Delphi [-]
procedure EstablecerFoco(Formulario : TForm; s : string);
begin 
   try
       (Formulario.FindComponent(s) as TWinControl).SetFocus;
   except
    ...
   end;
end;

espero se te haya aclarado algo mas. Un saludo.
Responder Con Cita
 


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
Problema con foco en componente propio diegofhernando OOP 2 04-09-2007 17:58:34
Problemas con foco de componente/s cybergerman OOP 4 18-01-2006 18:04:39
Saber el componente que tiene el foco en un formulario Javi2 Varios 3 20-10-2005 16:19:32
Evitar q componente adkiera foco diegofhernando OOP 7 12-06-2005 20:53:31
quitar el foco a un componente unko! Internet 4 20-03-2005 16:58:16


La franja horaria es GMT +2. Ahora son las 00:35:42.


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