带历史信息的菜单

 procedure TForm1.alert(Sender: TObject);
begin
  if Sender is TMenuItem then
    ShowMessage(TMenuItem(Sender).Caption);
end;




procedure TForm1.DF1Click(Sender: TObject);
var
  mni: TMenuItem;
  event: TNotifyEvent;
begin
  if not OpenDialog1.Execute then Exit;


  mni := TMenuItem.Create(Self);
  mni.Caption := OpenDialog1.FileName;
  event := alert;
  mni.OnClick := event;


  MainMenu1.Items.Items[0].Insert(2, mni);


  if MainMenu1.Items.Items[0].Count = 4 then  //不太明白为什么这样
  begin
    mni := TMenuItem.Create(Self);
    mni.Caption := '-';
    MainMenu1.Items.Items[0].Insert(3,mni);
  end;
end;


procedure TForm1.MINI1Click(Sender: TObject);
begin
  close;
end;

你可能感兴趣的:(带历史信息的菜单)