
介绍:
收到了大量的来信,请求我写一个使用RBDeskband向导和CWindowImpl 向导开发Internet Explorer绑定程序的教程。这篇跟我学教程将通过几步教你如何在IE里面加一个像IE地址栏一样的小窗口,以及工具栏按钮。希望这篇文章能向你清楚的讲述这些,或者未能满足您的我在以后的教程中做补充。下面跟紧我的步伐,让我们在IE中创建一个小工具窗口,用它来从Motley Fool 网站查询股票信息。
要求:
这个教程要求你事先懂C++、ATL和COM的相关知识,并且你需要在机器上安装以下:
程序框架:
用到IDeskband接口和一些其他的必要接口,IE将在启动并读取以注册的工具栏、菜单时查询这些接口。RBDeskband ATL Object向导完成了本文的大部分工作。我们将要做的仅仅是创建工程,创建一个新的COM接口和用CWindowImpl ATL Object 向导一些CWindowImpl 类用来联系这篇文章开头图片中的三部分,edit窗口、带有一个按钮的工具栏、处理edit和工具按钮的消息。
创建工程
- 准备好了吗?打开Visual C++6.
- 选择“File”菜单的“New”,打开了App向导.
- 加入Projects标签没被选种就选它.
- 选择ATL COM AppWizard.
- 工程名为"MotleyFool". 如 图1.
- 按“OK”.

图1. 创建工程.
- 之后我们见到了ATL COM 程序向导.
- 直接点击OK,默认所有设置. 如 图2.
- 接下来的对话框将显示你的工程的情况.
- 点OK.

图2. ATL COM 程序向导.
创建DeskBand Object
- 从Insert菜单中选择 New ATL Object ; 看见ATL Object Wizard 对话框.
- 选择ATL Object Wizard 对话框左边的RadBytes. 如果你没看到RadBytes项请确认你已安装 RBDeskband\CWindowImpl ATL Object Wizards. 这两个向导可以从文章上面的要求中下载
- 选择右边的DeskBand.
- 按Next打开Deskband的属性页. 如图3.
图3. ATL Object Wizard. - 接下来在Names属性页中的short name里输入StockBar. 如图4.
图4. ATL Object Wizard 属性- 名字. - 选择DeskBand ATL Object Wizard 属性页.
- 给Internet Explorer Toolbar打勾. 如图5.
- 按ATL Object Wizard 属性对话框的OK按钮。ATL Object 向导将自动创建必要的文件。
图5. ATL Object Wizard 属性- DeskBand ATL Object 向导 -
现在关于Deskband的相关工作完毕了,下面我们创建窗口类。
创建窗口类
这里我们将创建三个窗口.
编辑窗口
- 选择Insert 菜单的New ATL Object 打开ATL Object Wizard 对话框。
- 选择ATL Object Wizard 对话框左边的RadBytes. 如果你没看到RadBytes项请确认你已安装 RBDeskband\CWindowImpl ATL Object Wizards. 这两个向导可以从文章上面的要求中下载。
- 接下来选择右边的CWindowImpl.
- 选择下一步打开Deskband的属性页. 如图3.
- Short Name里填写"EditQuote" .
- 选择CWindowImpl的属性页. 如图6.
- 选中SUPERCLASS。
- Window Class Name 为 "EDITQUOTE".
- 在Original Class Name 列表中, 选择EDIT 项. 如图7.
- 按OK。ATL Object 向导将为我们创建相关的文件。.

图6. ATL Object 向导 - 填写短名.

图7. ATL Object Wizard 属性页- CWindowImpl.
工具栏窗口
- 选择Insert 菜单的New ATL Object 打开ATL Object Wizard 对话框。
- 选择ATL Object Wizard 对话框左边的RadBytes. 如果你没看到RadBytes项请确认你已安装 RBDeskband\CWindowImpl ATL Object Wizards. 这两个向导可以从文章上面的要求中下载。
- 接下来选择右边的CWindowImpl.
- 选择下一步打开Deskband的属性页. 如图3.
- Short Name 为"MFToolbar" .
- 选择CWindowImpl 属性页. 如图8.
- 选中SUPERCLASS.
- Window Class Name 为"MOTLEYFOOLTOOLBAR".
- 在Original Class Name 列表中选择TOOLBARCLASSNAME. 如图9.
- 按OK。ATL Object 向导将为我们创建相关的文件。.

图8. ATL Object 向导属性页- Names.

图9. ATL Object 向导属性页- CWindowImpl.