我想在我写的ATL中加入一个MediaPlay控件,在导入MediaPlay控件时出错,说是ATL不支持ActiveX,请问我应该怎么做才能实现对ActiveX的支持?

解决方案 »

  1.   

    导入其OCX,再跟得到COM接口指针一样得到OCX的接口指针。
    或者干脆新一个窗口类对话框,再在其上直接插入。
      

  2.   

    to: ldsjlzy(小李) 
    我把OCX控件插入对话框后要怎样去控件它呢?
      

  3.   

    先new一个对话框实例m_dlg,然后
    IXXXXX *pYouIf = NULL;  // IXXXX为ocx控件的接口.(用oleview查看ocx可找到有哪些接口)
    HWND hwnd = GetDlgItem(m_dlg->m_hWnd,IDC_XXXX);///IDC_XXXX为你的ocx控件资源ID
    IUnknown *pIUnk = NULL ;
    AtlAxGetControl(hwnd, &pIUnk) ; //取得控件的接口指针
    pIUnk->QueryInterface(IID_XXXXX, (void**)&pYouIf) ;
    成功后,然后用pYouIf下的方法来控制了.
      

  4.   

    http://expert.csdn.net/Expert/topic/2002/2002541.xml?temp=5.070132E-02
      

  5.   

    非常感谢 ldsjlzy(小李) 
    你太可爱了