Skip to content

Component focused

Focused es un método de muchos componentes visuales en Delphi. Este método devuelve True si el objeto posee el Foco (Focus) y False si no lo posee.

TWinControl.Focused : Boolean;

Cuando un componente posee el foco, puede recibir los eventos del teclado disponibles para éste. Por ejemplo: si un Button posee el Focus, y presionamos la Tecla Enter o la barra espaciadora se disparará el evento OnClick.

El siguiente ejemplo es una función que devuelve el nombre del componente con el foco:

function ActiveControl() : String;
var
  I: Integer;
  vControlActive: TWinControl;
begin
  Result := '';
  for I := 0 to ControlCount - 1 do
  begin
    if (Controls[I] is TWinControl) then
      if (Controls[I] as TWinControl).Focused then
        vControlActive := TWinControl(Controls[I]);
  end;
  if (vControlActive <> nil) then
  begin
    Result := vControlActive.Name;
  end
end;