关于如何在MFC的窗口中插入VLC ActiveX控件,请看这位大神的一篇文章:https://blog.csdn.net/zjw12221/article/details/38051183
注意不同版本的DLL接口可能有点不同,而我介绍的接口调用方法只在VLC 3.0.2上测过。
如上面链接博文所述,在MFC的对话框中插入一个VLC控件后,然后定义一个控件变量,假设变量名为m_VLC,这样在工程中就会自动添加VLC的控件类,默认名称为CVlcplugin1,并且也相应增加了CVlcplugin1.h和CVlcplugin1.cpp文件。另外,你的对话框的源文件上面会加多了一行:
#import "C:\Program Files (x86)\VideoLAN\VLC\axvlc.dll" exclude("VLCPlaylistMode")
如果你嵌入ActiveX控件的父窗口不是一个对话框,比如是以CView为基类,不能用编辑器拖入控件,则可以采取动态创建控件实例的方法,因为控件也是一个窗口(继承与CWnd),而创建窗口MFC有专门的函数。下面是动态创建控件实例的例子代码:
BOOL bRet = m_VLC.Create(_T("VLC Client"), WS_CHILD|WS_VISIBLE, rc, this, IDC_VLCPLUGIN1);
if(bRet)
{
m_VLC.put_AutoPlay(TRUE);
m_VLC.put_Visible(TRUE);
}