jeb

临事而惧﹐好谋而成

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    前段事件因工作的需要做了一个关于视频显示的控件,该控件的主要功能包括网络连接,视频流的解压缩,显示实时的视频画面,存储录像文件,保存视频截图,网络连接断开时产生通知主程序的消息。做完以后测试了几个月还是蛮稳定的,一般主界面需要调用60个左右的显示控件 总结了下控件的主要工作也就是围绕方法函数的定义,事件消息的定义,控件的属性等。
以下简单介绍其操作:
先创建一个MFC ACTIVEX控件的工程,选择如图所示就可以了,点击OK然后再点Finish,这样一个空白工程就创建好了。
在控件的外部接口主要为:方法函数,事件,消息和控件的属性(如,控件的颜色,显示的文字等)
控件的方法函数用来控制控件执行你所定义的操作。
事件用来响应如单击控件时响应的操作,比如当你单击控件时,让控件弹出一个对话框。
消息,你可以在控件中定义消息,当你的控件执行到特定地方时用消息通知主程序,消息中可以带参数。
比如,你的控件需要实现网络连接的功能,当出现网络中断时,使用消息通知主程序网络中断了,这样可以让主程序去处理重新连接的操作和界面在网络断开的情况下的响应界面显示。
当然控件中需要重连的函数.

 

下面以工程ActivexDemo简单讲解控件的基本操作
添加方法函数的操作:右键 单击弹出
 

再点击Add Method添加方法:在弹出的对话框中return type中填返回类型,method name填方法的名称。Parametertype添加参数的类型,
parametername填上参数的名称。此时方法的接口就添加好了。可以在其生成的方法函数中添加你的代码了。
添加事件,如点击事件,该事件属于标准事件。右键点击选择Add->AddEvent,弹出对话框如图:

 

Eventname的下拉框中选择click再点击Finish即生成点击事件的消息,不用添加任何代码。如果你单击事件时希望控件自己生成一个弹出对话框,或执行什么特定动作,那么需要定义一个方法函数,用来产生对话框或执行特定代码,当你在主程序调用控件点击事件时再同时调用该方法。

以上是标准事件,你也可以自定义事件也就是消息了,还是和以上操作一样,只是在eventname中自己添加事件的名称,它会给你生成一个外部名称。在主程序中只需要添加一个事件的响应函数就可以了,当事件产生时主程序会接收到。

属性的添加方式很简单。

 

控件的注册方法,regsvr32 +“控件的路径”

反注册的方法,regsvr32 /u +“控件的路径”

当带控件的程序在其他机器上运行时,控件首先需要注册。

posted on 2008-05-28 13:46    阅读(346)  评论(0编辑  收藏  举报