怎么memo上弹出的popmenu中加入一个menuitem??

frogshero 2002-07-13 11:43:21
怎么memo上弹出的popmenu中加入一个menuitem??
...全文
40 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ikumei 2002-07-13
  • 打赏
  • 举报
回复
当然,你完全可以自定义memo上的popupmenu的全部,而不是使用系统提供的popupmenu。方法很简单:在设计时期为memo指定一个popupmenu控件。当然,其中的例如复制等操作必须自己写代码了,使用action控件会方便些
ikumei 2002-07-13
  • 打赏
  • 举报
回复
//以下是一个动态创建popupmenu以及其下的菜单项(MenuItem)
//的例子。其中filenames是一个string数组
//没有为动态创建的menuitem的click过程:RecentFileClick写内容
MainMenu1.Items[MenuPos].Items[SubPos].Clear;
MyPopUpMenu:=TPopUpMenu.Create(self);
MyPopUpMenu.AutoHotkeys:=maManual;
for i:=1 to length(filenames) do
begin
if filenames[i]<>'' then
begin
MySubMenu:=TMenuItem.Create(self);
MySubMenu.Caption:=filenames[i];
MySubMenu.OnClick:=RecentFileClick;
MyPopUpMenu.Items.Add(MySubMenu);
end;
end;
tbOpen.DropdownMenu:=MyPopUpMenu;
saien 2002-07-13
  • 打赏
  • 举报
回复
用api编写。
xyxx 2002-07-13
  • 打赏
  • 举报
回复
还是这样?
var s:TMenuItem;
begin
s:=TMenuItem.Create(self);
s.Caption:='sdfsd';
Memo1.PopupMenu:=PopupMenu1;
PopupMenu1.Items.Add(s);
Liujc 2002-07-13
  • 打赏
  • 举报
回复
不知道这样行不行。

mh := GetMenu(Memo1.handle);
AppendMenu(mh, MF_STRING, MF_STRING, 'I Insert');
yansea 2002-07-13
  • 打赏
  • 举报
回复
你说的是那个系统菜单吧,不知道用你自己的popumenu替换行不行?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧