VC控件指南(5)

2019-01-19 18:32

图38 CShockwaveFlash的类框架

VC会自动提取控件的所有方法和属性,并封装成我们所熟悉的成员函数形式。CShockwaveFlash为我们准备了不少的函数,我们先用一个熟悉点的试试:

void CShockwaveFlash::SetMovie(LPCTSTR lpszNewValue) { static BYTE parms[] = VTS_BSTR;

InvokeHelper(0x66, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, lpszNewValue); }

这个SetMovie()可以用来设置当前播放动画的URL,估计相当于属性窗口里面的Movie URL。我们使用这个SetMovie()结合“浏览”按钮来实现选择播放功能: void CFlashPlayerDlg::OnBrowser()

{ CFileDialog FileDialog(true, \动画文件(*.swf)|*.swf|所有文件(*.*)|*.*||\

if(FileDialog.DoModal() == IDOK)

{ m_sFilePath = FileDialog.GetPathName(); UpdateData(false);

m_FlashScreen.SetMovie(m_sFilePath); } }

嗯,运行FlashPlayer,运行界面如下所示,它现在已支持文件选择的功能了:

图39 支持点播的FlashPlayer

FlashPlayer程序至此打造完毕,以下向大家推荐一些比较有用的控件: 1.1 MsChart控件

控件名称:Microsoft Chart Control 6.0 (sp4) 控件类:CMsChart

控件简介:MsChart是微软制作的功能强大的图表工具,用它可以很方便的建立各种图表,包括各种二维、三维的饼图、折线图、直方图、折线图、面积图等。 应用图例:

图40 MsChart控件应用图例 1.2 DataGrid控件

控件名称:Microsoft DataGrid Control 6.0 (sp5) 控件类:CDataGrid

控件简介:DataGrid控件是由微软提供的数据表格控件,需要与ADODC控件配合使用。通过使用DataGrid控件,可以很方便地实现数据表记录的浏览、增加、删除和修改功能。

应用图例:

图41 DataGrid控件应用图例 1.3 MsComm控件

控件名称:Microsoft Communications Control version 6.0 控件类:CMsComm

控件简介:MSComm 控件提供了一系列标准通讯属性和方法,使用它可以建立起应用程序与串行端口的联接。 应用图例:

图42 MsComm控件应用图例

以上画面来源于笔者自行制作的手机通讯软件FreePhone,其底层采用MsComm控件,感兴趣的读者可以参见http://bluejoe.yeah.net。 1.4 Web浏览器控件

控件名称:Web浏览器控件 控件类:CWebBrowser2

控件简介:Web浏览器相信大家再也熟悉不过了,IE浏览器就内嵌了一个Web浏览器控件,这也就是为什么腾讯浏览器与IE如此相似的原因。通过使用Web浏览器控件,可以很方便地实现网页页面的浏览和显示。

应用图例:

图43 Web浏览器控件应用图例 1.5 ActiveMovie控件

控件名称:ActiveMovie Control Object 控件类:CActiveMovie3

控件简介:ActiveMovie是Microsoft公司开发的视频播放控件。该控件内嵌了Microsoft MPEG音频解码器和Microsoft MPEG视频解码器,播放控制更加简捷方便。 应用图例:

图44 ActiveMovie控件应用图例 2 结束语

控件是好东西,有了它,绝对会节省你的不少时间和精力。如果你正在为某个复杂的实现而苦恼万分,那么笔者建

议你先上网查查是否已经有相应的控件可供下载使用。一个专业的控件往往会比你考虑得要周密得多,也要方便得多。而你的任务就是如何使用它,如何去推广它;当然,如果你有好的代码,譬如是一个底层硬件通讯的工程类,我也希望你会将这些东西封装成控件,然后贡献出来,让大家一块共享你的成就和快乐!


VC控件指南(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:唐诗研究-最全笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: