关于dll的mdi子窗体合并菜单,解决后另送300分.(300分)

  • 主题发起人 主题发起人 cxjrich
  • 开始时间 开始时间
C

cxjrich

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一部分MDI子窗体要转移到DLL中供多个不同版本的程序调用。
在同一个EXE中,这些子窗体合并菜单后一切正常,可通过点击调用相应的程序。
放在DLL中后,界面上菜单合并正常,但点击后不会触发原来的事件。点击窗体上的
右键菜单是正常的。
 
重新指定一下事件处理过程试试
 
我现在也在做同样的事情,但发现有问题。我做过测试与仔细研究,基本上可以肯定,
Delphi的菜单处理存在重大Bug,不能合并来自DLL中的菜单。

》》但点击后不会触发原来的事件。

不但不触发事件,还会造成程序崩溃。

我暂时的替代办法是通过一个函数接口调用指定的功能,方法是:

通过方法将该子Form的菜单项取出,在主窗口上重新生成,执行主窗口的菜单来调用子
窗口的功能。




 
你试试看用ToolBar(设置好MenuItem)和MainMenu融合(automerge:=true)来做这个dll菜单
以前我就是这样解决ActiveForm的菜单问题的.
我这里没有delphi,待会儿我去试试看.实在不行就只能用楼上的办法了.
 
在主窗口上重新生成,执行主窗口的菜单来调用子
窗口的功能。
 
不好意思,总是上不了。
问题我已经解决了,方法同LLLYJ差不多,
不过用的是自定义消息。
大家见者有分
 

Similar threads

S
回复
0
查看
815
SUNSTONE的Delphi笔记
S
S
回复
0
查看
730
SUNSTONE的Delphi笔记
S
后退
顶部