Ver Mensaje Individual
  #6  
Antiguo 12-02-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 de nuevo.

Ampliando el alcance podes hacer:
Código Delphi [-]
function GetFocusedControlName(const FormName:string): TWinControl;
var
  i: Integer;
begin
  Result:= nil;
  for i :=  0 to Screen.FormCount-1 do
    if (Screen.Forms[i].Name = FormName)and(Screen.Forms[i].Visible) then
    begin
      Result:= Screen.Forms[i].ActiveControl;
      Exit;
    end;
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  WC: TWinControl;
begin
  WC:= GetFocusedControlName('Form2');
  if Assigned(WC) then
    ShowMessage(WC.Name);
end;
De este modo obtenes el nombre del control que tenga el foco en cualquier Form visible, cuya unidad haya sido incluida en la unidad actual.

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 12-02-2014 a las 20:04:11.
Responder Con Cita