本文主要通过大量示例指引读者了解和使用Windows控件以及ActiveX控件。
1 前言
1.1 控件之于VC
控件与Visual C++没有直接的关系,控件是Windows操作系统的界面元素,而VC只是一种开发语言。VC可以编写Windows程序,当然也可以编写Windows界面,包括最熟悉的对话框界面。
对话框界面是初学者学习VC的一道门槛,学习复杂的文档/视对于初学者来说是很痛苦的事情。而对话框的优点就在于它的“所见即所得”,设计界面画得有多好看,程序运行界面就有多好看。而如何让你的对话框的界面更丰富一点,那就是控件的事情了。
所以,你,责无旁贷的,要先学好控件的使用;而本次教程,正是指引你如何在VC里实现控件编程。
控件是窗口,是个完成特定功能的小窗口。例如:最熟悉的列表框控件可以让你用来列出你所有女友的名字;
控件放置在对话框里,对话框就成为控件的容器,或曰父窗口;而控件就成为对话框的元素,或曰子窗口。
控件并不总是显示成一个窗口,它可以是隐藏着的,例如:你可以使用定时器控件来控制“神五”的发射,但没必要一定要在发射系统的主界面上土土地画上一只小闹钟。
你用来选择女友名字的列表框是Windows系统标准控件,用来指示大爆竹升天的定时器也是。但Windows系统为你考虑的总会有限,那么就需要一些先行的人(第三方)为你准备一些他们出品的控件,这些符合Windows规范的控件即ActiveX控件,对于合法占有(但愿是真的合法占有)这些控件的你,就完全可以象使用Windows标准控件一样大大方方地使用它们。ActiveX控件的使用与标准控件一样简便快捷,你可以使用MsComm控件让你的电脑总是在深夜拨打我的电话,或者使用ActiveMovie控件反复播放你最钟爱的影片(譬如,“三个代表”的学习材料),如此这些,都是ActiveX控件的应用。
同样的,你也可以使用Macromedia公司的Flash控件来播放所有有关Snoopy的Flash动画,而这,正是本文要为你讲述的。
1.2 主要内容
本教程指引你完成以下界面,它是一个轻型的Flash浏览器:

图1 轻型的Flash浏览器FlashPlayer
不是很酷,但至少还能说明一些问题。这个简单的界面包含以下4个控件:
- 文本编辑框,用以显示用户选择的文件路径,如:“D:\movies\星语心愿.swf”;
- “浏览”按钮,用以支持用户选择Flash文件;
- “退出”按钮,用以结束本程序,相当于“安全门”;
- Flash浏览窗口,用以显示Flash画面,是FlashPlayer的主会场;
前3者是Windows标准控件,Flash浏览窗口则不同,它来源于Macromedia Flash,是一个ActiveX控件。
通过本教程,笔者承诺你可以学习到以下内容(当然,你首先要熟悉Visual C++):
- 控件的引入,即如何将一个控件加入到你的VC工程中来;
- 控件属性的设置,即如何通过属性的修改来设计控件的运行界面;
- 控件变量的映射,即如何象使用通常的一个变量一样操纵一个控件;
- 控件事件的响应,即如何处理控件的事件;
- 控件方法的调用,即如何调用控件的既有函数来操作它;
仅此而已,你不可能再学习到其它的话题,你也不会接触到诸如ActiveX制作等方面的内容,那样只会冲淡本次教程的主题,让你的头更疼。
本文为白乔原创,曾经在《电脑爱好者》合订本上发表。