小弟学COM时间不长,有很多问题不太懂。我编译了一个MSDN中的一个可视化控件ATLFireCtrl,并已经正常注册(可在ActiveX Control Test Container中查看)。但我在一个Win32项目中创建了一个组件实例后(加载是成功的),却没有办法让它在我指定的窗口中显示出来。众高手请帮忙解决一下,谢了先。

解决方案 »

  1.   

    http://www.fruitfruit.com/vc/activex/flsh.cpp
      

  2.   

    谢谢指教,但有几句不太懂
    1、#include <atlbase.h>
     CComModule _Module; 这里的_Module在后续的代码中未引用,起什么作用
    2、case WM_CREATE:
             GetClientRect(hWnd, &rc );
             rc.top = (rc.bottom+rc.top)/2;
    m_container.Create( hWnd, rc, LPCTSTR   ("ShockwaveFlash.ShockwaveFlash.1"), WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL );//create a browser control

    之前并未实例化ShockwaveFlash组件,而且根据MSDN中的相关解释,CAxWindow::Create的第三个参数是窗口名字串,可以这样创建窗口吗?理由何在呢?