介绍:
收到了大量的来信,请求我写一个使用RBDeskband向导和CWindowImpl 向导开发Internet Explorer绑定程序的教程。这篇跟我学教程将通过几步教你如何在IE里面加一个像IE地址栏一样的小窗口,以及工具栏按钮。希望这篇文章能向你清楚的讲述这些,或者未能满足您的我在以后的教程中做补充。下面跟紧我的步伐,让我们在IE中创建一个小工具窗口,用它来从Motley Fool 网站查询股票信息。
要求:
这个教程要求你事先懂C++、ATL和COM的相关知识,并且你需要在机器上安装以下:
Visual C++6.0
RBDeskBand ATL Object Wizard (2.0版本) [点此下载]
CWindowImpl ATL Object Wizard [点此下载]
程序框架:
用到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.
(人是铁,饭是钢,一顿不吃饿得慌~吃饭去喽:)