快速业务通道

在BCB中轻松使用ActiveX控件

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
条(ProgressBar)来显示动画加载的进程。

【方法】LoadMovie 用于加载网络上的动画,动画文件名为一个BSTR型的URL值,在 C++ Builder 中可以用 AnsiToOLESTR 函数将Char型的字符串转换成BSTR型。

如果你要把你的程序给别人使用,为了防止他没有安装或是注册swflash.ocx文件而导致程序无法运行,你必须把OCX文件也一起附带上,并在程序中为它在系统中注册,注册方法有两种:

方法一:调用外部程序 Regsvr32.exe

注册:  ShellExecute(Handle,NULL,“regsvr32.exe”,“swflash.ocx”,NULL,SW_SHOWNORMAL);

反注册: ShellExecute(Handle,NULL,“regsvr32.exe”,“/u swflash.ocx”,NULL,SW_SHOWNORMAL);

方法二:调用控件本身所包含的注册和反注册函数

每一个OCX控件中都提供了两个输出函数“DllRegisterServer”和“DllUnRegisterServer”,可以注册和反注册控件本身,我们可以用LoadLibrary()和GetProcAddress()来调用它们,这和动态调用DLL库的方法是一样的,我在这里就不多说了。

你会问我为什么会知道这些属性的使用方法及该控件的方法的使用的,先看这个组件的头文件,然后可以在程序中用InputBox输入参数来试验效果,还可以建立一个状态栏来显示与其相关变量的值。我用的是这种方法,也许你会有更好的方法,好了,利用上面介绍的属性和方法,相信你已经很好地使用它了!当然有些我也没有弄明白,比如我想在RePlayer中实现重复播放,代码如下:

void __fastcall TFrmMyPlayer::btnReOpenClick(TObject *Sender)
{
     if(odgRealplay->Execute())
     {
         int n,i;
         n=StrToInt(InputBox("播放次数","你想播放多少次呢?","2"));
             if(n<1)
             {
             ShowMessage("次数必须为正整数!");
             return;
             }
             radMyPlayer->Source=odgRealplay->FileName;
             for(i=1;i<=n;i++)
             {
             radMyPlayer->DoPlay();
             ShowMessage(IntToStr(i));//用来测试是否循环有问题,测试后应该把这个语句去掉
             }
     }

无论如何也不能循环,我想问题可能出现在DoPlay()上了,可能她里面有一个跳出程序的语句(return——我觉得应该是她),直接跳出循环,因为我也不清楚DoPlay()的原码是什么,或许不是这样,是我的程序有些问题,还请大家指教,互相学习吗:)

没办法ActiveX控件就得靠我们自己学习,有什么办法呢?但到是让我学习到了很多东西,其实从中也能更好的学习BCB的其它组件了,因为还是有一些共性的。

无论如何我觉得ActiveX控件给我们的编程带来很多的方便,不防你也按照上面的方法做一个属于你自己的Media Player9,感受一下快乐带给你的一切:P

------------------

作者:ch_builder

信箱:ch_builder@163.com

QQ:116001522

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号