ole菜单合并问题(200分)

  • 主题发起人 主题发起人 wwwei
  • 开始时间 开始时间
W

wwwei

Unregistered / Unconfirmed
GUEST, unregistred user!
如何不让程序的菜单与ole应用程序(如WORD,EXCEL等)的菜单合并
即在OLECONTAINE 处于编辑状态时打开的只是应用程序的菜单
以delphi4/demos/activex/olectnls为例子.望各位大虾能尽快回复!
不胜感激!
 
笨拙精神之一:不用MainMenu,以PopupMenu代替
笨拙精神之二:不用MainMenu,在头上加块面板,上面画几个Label和PopupMenu,假装菜单。
好办法我还没想出来,先来几个笨拙的吧。
 
有个简单的办法,把程序稍作修改如下:
procedure TMainForm.New1Click(Sender: TObject);
begin
MDIChildForm := TMDIChildForm.Create(Self);
with MDIChildFormdo
begin
InsertObject1Click(Sender);
window2.visible := false;
// 这里加了两句
file1.Visible := false;
//这里加了两句
with OleContainer1do
if NewInserted then
do
Verb(PrimaryVerb);
end;
end;
 
笨拙精神之二(修正版)
用ToolBar加ToolButton,
ToolButton.MenuItem设置为相应的菜单项
效果和Delphi IDE的菜单一样
 
如果应用程序中有支持本地激活的OLE对象,则要进行菜单融合。
即是否可用程序来创建Ole对象呢?若不行的话,只能借鉴以上各位的意见了,
Delphi也无能为力!:-(
 
>笨拙精神之二(修正版)
这样的话,Word本身的工具条也会出来的呀,如果它的工具条都出来了,那屏蔽菜单还有什么意义呢?
 
我记得好象在一本书中(忘了是哪本)写到在菜单的GroupIndex的值若为0,2,4...,
就与(不与?)OLE的菜单合并,若为1,3,5...就不与(与??)OLE的菜单合并,
不知是否这样?
 
to wwwei:
是《Delphi3开发使用手册》P414-415
GroupIndex为0,2,4的主菜单项保留,TOleContainer合并服务器程序的菜单,
并替换GroupIndex为1,3,5的主菜单项(如果他们存在的话)
虽然可以利用保留的菜单,但是,人家的程序里头总有替换你的菜单的菜单项啊!
 
to all
谢谢!BTW,我想设一个变量设置路径,这样每次打开文件时都能在所需的目录下
打开文件,不知OpenDialog里有没有这个设置,另外,有没有象WORD里按"打开"
后显示的带有查找功能的OpenDialog的控件?帮帮忙!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部