编写可复用性更好的C++代码:Band对象和COMToys
2006-07-21 11:44:13 来源:WEB开发网Mybands DLL 的实现逻辑
理解任何系统的最好方式是理解它想要解决的问题(某些系统并不在乎要解决任何问题,这样的系统通常不是好系统)。这就是Mybands DLL的由来。
我最讨厌那种demo例子程序,在一个丑陋的背景上显示一串笨拙的文本,如"Hello +[应用程序名字]",然后还整天提起它。我觉得,如果我在编程过程中遇到了麻烦,那么我可能同时也获得了一些有用的东西——或至少是问题细节。所以当我开始写Desk Bands时,要做的第一件事情就是找一个编写它的理由,老实说,把一个自己的一个小窗口放到任务栏里的想法具有挑战性,也很刺激。图一显示的是在任务栏中有一个Web搜索框。
图一 任务栏中的Web搜索框
在这个编辑框中输入要查找的内容,然后按回车键,系统就会启动默认的浏览器并且用你在编辑框的上下文菜单中指定的Web搜索引擎进行查找。你还可以将这个Web搜索框拖到桌面,这时它就变成了一个普通窗口,如图二所示:
图二 任务栏中的Web搜索框变成了一个普通对话框
实现Web搜索框的程序是 Mybands.dll,它是一个DLL。聪明人肯定会问,这个DLL的名字怎么有复数形式?因为它实现了所有三种类型的Band应用。这三种Band对象就是本文前面提到过的:Desk Bands,info/comm和Tools Bands。注意:IE5之后,微软将info/comm类型的Bands统称为Explorer Bars——浏览栏——用于IE或资源管理器--它包括垂直型和水平型,IE以及资源管理器"查看"菜单中"浏览栏"的"历史记录","收藏夹","搜索"(如图三)都属于info类型或者Explorer Bar类型的Bands应用。Tool Bands是IE5新增加的一种Band类型----工具栏Bands。
更多精彩
赞助商链接