1.动态生成菜单项
var FirstItem: TMenuItem; SecondItem: TMenuItem;
begin FirstItem := TMenuItem.Create(Self); FirstItem.Caption := ‘FirstName’; PopupMenu1.Items.Add(FirstItem); //添加一级分类
SecondItem := TMenuItem.Create(Self); SecondItem.Caption := ‘SecondName’; FirstItem.Add(SecondItem);//添加二级分类
ThirdItem := TMenuItem.Create(Self); ThirdItem.Caption := ‘ThirdName’; ThirdItem.OnClick := MenuClick; SecondItem.Add(ThirdItem);//添加三级节点
end;
2.自定义动态菜单的事件
//先自定义一个函数
procedure TForm1.MenuClick(Sender: TObject); var i: Integer; begin ShowMessage(TMenuItem(Sender).Caption);//显示当前点击的菜单项的Caption end;
//将自定义函数赋给菜单项
FirstItem := TMenuItem.Create(Self); FirstItem.Caption := FirstName; FirstItem.OnClick := MenuClick; //增加这句 PopupMenu1.Items.Add(FirstItem); //添加一级分类
3.去掉菜单项Caption中的&符号
FirstItem := TMenuItem.Create(Self); FirstItem.AutoHotkeys := maManual;//增加这句 PopupMenu1.AutoHotkeys := maManual;//或者增加这句 FirstItem.Caption := ‘FirstName’; FirstItem.OnClick := MenuClick; PopupMenu1.Items.Add(FirstItem); //添加一级分类
|
请发表评论