Menus - menus em runtime

Top  Previous  Next

Pra associar um item de menu a um evento, em tempo de execução, 

faz assim:

 

var

  MItem: TMenuItem;

begin

  { Cria o novo item do menu Agenda }

  MItem := TMenuItem.Create(Agenda);

  MItem.Caption := 'NomeDaPessoa';

  

  { Associa à procedire ProcedureClick }

  MItem.OnClick := ProcedureClick;

 

  { Acrescenta o novo item ao menu Agenda }

  Agenda.Add(MItem);

 end;

 

Não me lembro bem se é relamente necessário usar Free no caso de menus.

Lembro de ter ouvido que não. Mas é bom vc ficar atento.

 

Para ver qual menu foi pressionado:

 

var

  MItem: TMenuItem;

  NomeDaPessoa: String;

  IndiceDaPessoa: Integer;

begin

  with Sender as TMenuItem do 

  begin

    NomeDaPessao := Caption;

    IndiceDaPessoa := Index;

  end;

end;