TAction/es

From Lazarus wiki

English (en) español (es)

Un objeto TAction es un contenedor para tópicos específicos de relación de acciones tales como eventos, descripción, tópicos de ayuda, icono, shortcut. Cuando se utiliza TActions en la propiedad Actions de los pulsadores, menús, diálogos, controles, es posible centralizar los efectos de los clicks del ratón, elecciones de menú, selecciones de diálogo, shortcuts, etc en un único manejador de eventos.

Ejemplo

Necesitamos tener un TAction que maneje la apertura de algún otro formulario. Nos aseguramos que tenemos un TActionList en el formulario principal. Hacemos doble click en TActionList para obtener el ActionList Editor. Creamos una nueva acción pulsando del signo más. En el Inspector de Objetos, establecemos el nombra a actSomeAction, establecemos el shortcut que queremos, un caption a usarse en el menú, un imageindex en caso de tener un TImageList conectado al parent ActionList, Hint es sugerencias que se mostrarán, helpkeyword y otras propiedades que son relevantes.

Lo más importante es el evento OnExecute que será ejecutado si la acción es activada de algún modo (menu, shortcut, button).

procedure TMyForm.actSomeActionExecute(Sender: TObject);
var
  f: TSomeForm;
  rv: integer;
begin
  f := TSomeForm.Create( nil );
  f.Caption := 'SomeForm';
  rv := f.ShowModal();
  if rv=mrOk then
    DoSomethingMeaningful();  
  f.Free();
end;

Si utilizas la nueva acción creada en un TMenuItem de un TMainMenu o TPopupMenu estás preparado para hacerlo funcionar.

See also