主题:向大家求救一个棘手的问题[em10]
有一个项目,它的主窗体是一个MdiForm形式的窗体,其通过它的菜单栏或工具栏打开的窗体都是MdiChild形式的窗体,我做的其中的一个按钮部分,就是点击这个按钮能弹出一个嵌入Word应用程序的窗体,此窗体上添加一些能控制Word的按钮,我用了servers组件中的TWordApplication、TWordDocument和TOleContainer控件相结合的方式可以实现对word控制和显示的功能,可是结合到项目的主窗体中问题就出来了...
如果我用一个窗体(作为这个项目的MdiChild窗体)实现的话(也就是控制word的按钮以及TWordApplication、TWordDocument和TOleContainer容器都放在一个窗体中)就会出现:只要点击按钮或者把鼠标点入到本窗体的TEdit区域,那么TOleContainer容器中嵌入的word文档就会失去焦点(那么不得不重新激活,效果不好),而且word应用程序的菜单栏项都会加入到这个项目的主窗体的菜单栏中(因为这个项目的主窗体中带有菜单栏的控件,TOleContainer容器中嵌入word应用程序的时候会自动把word应用程序的菜单栏项加上去)..这样效果肯定不符合要求..
于是我又尝试了用一个MdiForm和一个MdiChild窗体的形式来实现控制和嵌入word的功能(也就是MdiForm窗体的部分放置控制word的按钮和文本输入框的一些控件以及servers组件中的TWordApplication、TWordDocument控件,而MdiChild窗体的部分只放置一个TOleContainer控件用于显示)这样单独运行可以实现理想的效果,而且点击按钮或鼠标焦点移入到TEdit区域 TOleContainer控件中显示的word文档也不会失去焦点了。可是这种方式与项目的主窗体就发生冲突了,因为项目的主窗体也是MdiForm形式的窗体,这样一来就存在两个MdiForm的窗体了,好象据说所有的MdiChild子窗体只会嵌入到一个MdiForm中,这样又达不到要求的效果了..请大家帮我看看有没有什么好的解决办法!
如果我用一个窗体(作为这个项目的MdiChild窗体)实现的话(也就是控制word的按钮以及TWordApplication、TWordDocument和TOleContainer容器都放在一个窗体中)就会出现:只要点击按钮或者把鼠标点入到本窗体的TEdit区域,那么TOleContainer容器中嵌入的word文档就会失去焦点(那么不得不重新激活,效果不好),而且word应用程序的菜单栏项都会加入到这个项目的主窗体的菜单栏中(因为这个项目的主窗体中带有菜单栏的控件,TOleContainer容器中嵌入word应用程序的时候会自动把word应用程序的菜单栏项加上去)..这样效果肯定不符合要求..
于是我又尝试了用一个MdiForm和一个MdiChild窗体的形式来实现控制和嵌入word的功能(也就是MdiForm窗体的部分放置控制word的按钮和文本输入框的一些控件以及servers组件中的TWordApplication、TWordDocument控件,而MdiChild窗体的部分只放置一个TOleContainer控件用于显示)这样单独运行可以实现理想的效果,而且点击按钮或鼠标焦点移入到TEdit区域 TOleContainer控件中显示的word文档也不会失去焦点了。可是这种方式与项目的主窗体就发生冲突了,因为项目的主窗体也是MdiForm形式的窗体,这样一来就存在两个MdiForm的窗体了,好象据说所有的MdiChild子窗体只会嵌入到一个MdiForm中,这样又达不到要求的效果了..请大家帮我看看有没有什么好的解决办法!