在ActiveX中使用Dialog开发基于libvlc的流媒体播放器
一、 首先创建一个ActiveX工程,工程名假设为:MyActiveX
next,next,然后到下面界面,完成。
二、 创建一个对话框资源(Dialog),并关联一个类(CMyDialog)。检查一下对话框资源的配置,推荐配置:style:child, border:dialog frame, visible:ture, control:ture
style:child(必须的选项)
visible:ture(必须的选项)
control:ture(可选项,非必须)
border:dialog frame(可选项,非必须)
至此,新建的Dialog基本属性配置完毕。
三、项目”配置属性 ”的一些设置(重要)
1、C/C++->常规->附加包含目录,
2、链接器->常规->注册输出->否
3、链接器->常规->附加库目录->当前工程库的目录(这里是lib)
4、链接器->输入->附加依赖项->写进依赖的lib库
5、链接器->优化->引用->否
至此,基于vlclib库的ActiveX开发基本配置就完善了。(缺少其中一步就有可能出问题)
四、 对ActiveX控制类(CMyActiveXCtrl)做如下操作:
(1) 在CMyActiveXCtrl类的定义中,添加一个成员变量:CMyDialog m_myDlg;
(2) 为CMyActiveXCtrl类添加OnCreate消息响应:
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
(3)在上述 OnCreate 消息响应函数中,添加如下代码:
m_myDlg.Create(IDD_MYDLG,this); //IDD_MYDLG为对话框资源ID
(4)在 CMyActiveXCtrl类 的 OnDraw 函数中,添加如下代码
m_myDlg.MoveWindow(rcBounds, TRUE);
五、(非常重要)只能用Release编译生成MyActiveX.ocx文件(必须)( 将自己的myActiveX工程设置为release,生成一个
release版本(必须),否则使用ActiveX Control Pad无法得到有效的插件信息。(提示,改成release版后,注意工程配置,比
如依赖的库,都要与debug一致。)。编译完成后,我们将安装的官方VideoLAN安装文件下的Plugins整个文件夹以及
libvlc.dll,libvlccore.dll拷贝到MyActiveX.ocx文件所在的Release目录下。然后可以用当前目录注册.ocx,或者可以把整个
Plugins文件夹,libvlc.dll,libvlccore.dll这三个项目拷贝到系统目录下,然后以管理员身份运行cmd 输入:regsvr32
C:\Windows\SysWOW64\ MyActiveX.ocx 实现注册。 到此,基本工作完成。可以在 Active X control test container 中进行测试
了。