原型是这样的:我做了一个ocx控件,用来解析我做的另一个绘图应用程序所绘制出的图形.具体的过程是:用Draw.exe(绘图应用程序)绘制图形并保存为文件Draw1.***(假定该文件中只有一条直线),现在可以通过在IE中嵌入我所做的ocx使得Draw1.***中的内容可以在IE中浏览.我要问的问题是:我当时的结构是ocx+Draw1.***,只可以绘制出图形而不能产生交互功能,所以我想采用(ocx+view类)+Draw1.***的结构,这样就不仅可以显示Draw1.***,还可以产生交互功能,比如可以响应用户的双击,单击...

解决方案 »

  1.   

    复合控件是利用对话框资源来安排其UI元素的控件。UI元素可以是Windows控制或者其他的控件。其表现形式就和对话框一样。
      

  2.   

    首先,我们应该明白ocx只是一个复杂的com组件,符合ole标准,才能在标准的容器里使用。OCX可以是有界面的,也可以是没有界面的。当然,通过vc生成的ocx对象是带界面的,因为其中的基类就是窗口类的。所以,通过重载该窗口基类的方法,就可以相应用户交互了,跟一般的Windows编程一样。因为VC的体贴,你甚至可以直接右键使用向导完成。具体细节我也记不清了,摸索一下吧。
      

  3.   

    在你的Ocx控件中实现复合文档技术,在正常情况下只是显示文档中内容,当双击改Ocx控件的时候,Ocx将及活该复合文档的服务器界面并嵌入到你的Ocx控件中进行编辑。
      

  4.   

    可以使用JAVASCRIPT调用OCX的方法
      

  5.   

    把你的draw.exe的画图功能(view+交互+读数据)封装成一个ocx不可以么?MFC ActiveX AppWizard(不用ATL), 然后在控件的oncreate里create你的draw.exe的主窗体(view/dialog),重载控件的ondraw函数,这样就把 draw.exe的功能都封装到一个ocx里了。