- 积分
- 99
- 帖子
- 40
- 主题
- 4
- 精华
- 0
- 最后登录
- 2021-6-25
- 在线时间
- 21 小时
- 私信
|
发表时间 : 2013-6-8 23:28:27
|
浏览 : 6062 评论 : 12
前段时间没找到GlsPlayer这个插件,因此在嵌入的时候费了好大劲,总之就是通过进程嵌入,这样导致程序运行起来特别卡,资源占用很厉害。
今天偶然间得到了GlsPlayer插件,细细看了下,很容易上手,不过需要对Gls工程做修改,即要实现数据交互,需要添加一系列的属性,为什么非要是属性呢,后面解释。
在安装完GlsPlayer后,向VC的窗体中插入控件选项会有一个GlsPlayer选项,按正常控件插入方法即可。
然后需要设置CAB文件,cab文件怎么制作请搜索本站,有篇文章描述测很详细。
总之呢,这个加入的步骤我就不啰嗦了。
下面描述下数据更新:
目前我发现的数据更新的方法只能通过GLS中设置的属性来交换。
以我创建的示例Gls工程为例,设置了唯一的属性 busPowerOn,则此数据的交换过程如下:
//确定此属性是否存在:
BSTR bstr; VARIANT vt;
vt.vt = VT_BSTR;
bstr = _bstr_t("busPowerOn");
vt.bstrVal = bstr;
str = m_glsPlayer.GetAttrib(vt);
if(str.GetLength() > 0) 则busPowerOn属性存在,且返回的是此属性的值。
//为属性赋值
if(str.GetLength() > 0) //则busPowerOn属性存在,且返回的是此属性的值。
{
SetWindowText(str);
VARIANT vt2; vt2.vt = VT_UINT;
static int i = 0;
i++;
vt2.intVal = i; //此属性为int型
m_glsPlayer.SetAttrib(vt,vt2); //为此属性赋值
}
|
|