用Delphi6在Word中加入自定义Menu(100分)

  • 主题发起人 主题发起人 kuangwenwei
  • 开始时间 开始时间
K

kuangwenwei

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样用Delphi6在Word中加入自定义Menu?
 
问题好像见过一次:
删除好办。如下,VBA代码,很好转化成Delphi里面调用的格式。
CommandBars("Standard").Controls("新建空白文档(&B)").Enabled = False
CommandBars("Standard").Controls("新建空白文档(&B)").Visible = False
CommandBars("Standard").Controls("新建空白文档(&B)").Delete
但是增加就不好办了,关键是你如何产生事件呀?
使用VBA倒是很容易。
 
是将FORM上的Menu加入Word中?
 
事件可否在Menu中就写好?
 
只是将Menu嵌入Word中
 
明白了,你的目的就是嵌入Menu,这也许能办到,一下注册系统菜单的例子。
只要你能够得到Word的Menu的ID理论上说就应该可以的。
hMenu := GetSystemMenu(Handle, False); {获取系统菜单句柄}

procedure user_sysmenu(var msg: twmmenuselect); message wm_syscommand;

procedure TForm1.User_Sysmenu(var msg: TWMMENUSELECT);
begin
if Msg.Iditem = 100 then
ShowMessage('响应系统菜单!')
else
inherited; {作缺省处理,必须调用这一过程}
end;

procedure TForm1.FormCreate(Sender: TObject);
var
hMenu: integer;
begin
hMenu := GetSystemMenu(Handle, False); {获取系统菜单句柄}

AppendMenu(hmenu, MF_SEPARATOR, 0, nil);
AppendMenu(hmenu, MF_STRING, 100, '加入系统菜单'); {加入用户菜单}
end;
 
好象不行。
 
那你就看这个吧,最后一段,仅仅是思路,完全能够满足你的要求。
不过就是复杂了一些。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517
 
关注!
是不是要做到像金山快译 2002哪样
 
也可以,有没有源代码?
 
后退
顶部