• 当前位置:首页>>VC语言>>VC基础教程>>使用URL Moniker
  • 使用URL Moniker
  •     今天,许多公司特别关注Internet。因此,在不久的将来,访问Internet上的信息,一定会像访问本地硬盘数据一样容易。实际上,随着Internet Explorer 4.0中包含了部分Visual C++ 6.0特性,Microsoft已经向上述目标迈进了一步。你将会发现硬盘和Internet上你最喜欢的站点正共享着一个公用的Explorer视图。
        WEB链接 获取自己需要的信息经常是指访问自己的本地新闻组,以获得其它的程序员的帮助。不必多说,你会发现有些新闻组比别人花更多的时间在讨论URL moniker ;毕竟它还算是一个神秘的课题。例如,microsoft.public.win32 .programmer.ole 新闻组很长时间以来一直在讨论将Moniker捆绑到专用控件上的话题。甚至还有一个新闻组专门用于URL moniker:microsoft.public.activex.programming.urlmonikers。如果你想从新闻组中的人那里获得Visual C++有关的帮助,可以看一看microsoft.public.vc.mfcole。
        当然,数据站点的这种界线模糊倾向(blurring)对用户和程序员都会提供一些新机遇。例如,作为用户你会发现,将你需要的数据放入你需要的应用程序中去进行编辑要省事一点。作为程序员你会发现,现在还有许多别的方法来处理一个程序,并使它产生特殊的效果。
        注释 如果你不是使用Visual C++5.0以上版本来创建本节的例子,那么,就必须安装Activex SDK。SDK提供了能使示例代码正常工作所需的URLMON.H MLINK.LIB和URLMON.LIB文件。
        使应用程序具有特殊效果的一种最普通方法就是给它添加超链接功能,而最容易的添加方法是,在应用程序的工具栏上,放置一个可以使用户进入公司内部网的按钮。同样,你可以使用另一按钮,允许用户选择特定站点或在公司授权的Internet站点列表中进行选择。这正是本节要介绍的内容。样本程序将说明如何给某个典型的应用程序加入两个按钮,从而使用户可以快速简单地链接到Internet上。
        第一步当然是创建一个新的应用程序。就像第11章中的ActiveDocument例子一样,你也可以使用老版本的Microsoft Visual C++编译器来创建这些代码。本节假定你使用的是5.0 以上版本,尽管用4.2 版本创建它相对容易些。由于第2 章已经介绍了使用MFCApplication Wizard创建应用程序的过程,所以这里只进行简短的描述。在创建过程中,你需要选择一些选项才能使例子正常工作。首先,例子的名称为ViewURL(尽管你可以选择自己喜欢的名字)。其次,在Wizard的第1页应选择Single Document 。第三,在Wizard的第4页上应选择Windows Sockets支持。最后,在MFC AppWizard 的第6 页将Base Class域设置为CEditView,这将允许你在示例应用程序的主窗口中编辑文本。
        技巧 还有许多情况像本例一样不需要CRichEditView类的全部功能。与CEditView相比,CRichEditView类不仅相当大,而且使用CRichEditView 类还要求给应用程序添加OLE容器支持功能,这就进一步增大了应用程序的规模。CEditView类既能让你显示无格式文本,又能使应用程序比较小──这正是实用类应用程序一个很重要的考虑因素。
        添加库支持
        一旦Wizard完成了应用程序创建工作后,你就可以开始做进一步的修改了。首先要完成的工作就是给应用程序加入超链接支持。为此,可在STDAFX.H文件中加入下述的#include。
        //Added for URL support.
        #include "URLMon.h"
        该头文件包含了你在使用各种URL moniker有关命令时所需的所有#define语句。本章前面已经介绍了其中一些命令,这里将介绍它们是如何工作的。
        注释 老版本的 Visual C+ + 用户要做的下一件事就是添加一些静态的支持(但是Visual C++ 5.0以上的用户不必做这一步)。HLINK.LIB和 URLMON. LIB 这两个库都在ActiveX SDK的LIB文件夹中。可以利用Visual C+ + 的Insert (插入)| Files Into Project(文件到项目)命令给应用程序添加所需的库支持。通过查看FileView中的包括文件列表,来检查是否真的添加了支持(只需单击显示工作区左边的FileView标志即可)。
        技巧 Microsoft打算将来把HLINK.LIB和URLMON.LIB中的静态库支持放入URLMON.DLL中。一定要在编写支持URL moniker的应用程序之前检查该动态库的支持功能。
        创建所需资源
        现在已经加入了所需的库支持,让我们给工具栏添加一些按钮。单击ResourceView (资源视图),打开Toolbar文件夹,然后双击IDR_MAINFRAME项,就能看到如图12.1 所示的标准工具栏。添加新按钮很容易,你只需单击工具栏末尾的空白按钮,然后开始在绘画区域中显示的空白按钮上绘制。把这个按钮稍微向右移动一点,就能将它与工具栏上已显示的其它按钮区分开。图12.1显示的是这个例子中添加的两个按钮。

        注释 增加按钮可以给用户提供一种可视图化的显示,另外,还要给应用程序添加一些按钮标识信息。简单地双击将要设置的按钮的工具栏(不要单击刚创建的按钮图标),就会看到如下图所示的对话框。对两个按钮使用下表进行的设置。

        技巧 注意Caption包含了一个较长的描述、一个\n以及一个较短的描述。较长的描述将出现在应用程序的状态栏上。较短的描述用于当鼠标停留在该控件时的弹出帮助。一定要用“\n”分隔这两项。在Visual C++应用程序中任何看到弹出式帮助的地方都可以使用这种特殊的输入方法。

        单击第一个按钮将把用户带入公司的主页。按钮已经起作用,在资源方面不必再做什么了。你需要添加的只是完成实际工作的一点代码。但是,第二个按钮将允许用户输入他们自己的站点,如果愿意的话,还可以输入该站点中的某个位置。该按钮还支持那些使用框架的站点上的框架,这就需要添加一个特殊的对话框。打开 ResourceView 中的Dialog 文件夹,用右键单击Dialog 文件夹,就能看到一个关联菜单。 选择Insert Dialog项,就能看到一个名为IDD_DIALOG1 的新对话框添加到了文件夹的列表中(应用程序当前提供的唯一一个对话框是About Box对话框)。
        现在给对话框改名。用右键单击IDD_DIALOG1项,然后从关联菜单中选择Properties。在ID字段中输入IDD_S99vE_SELECT,然后单击属性对话框,就能看到新名字出现在Dialog文件夹的对话框中。
        给对话框添加所需控件相当容易。首先要做的是将对话框大小改为25×120像素点(即出现在状态栏右边的当前对话框大小)。这可能要占一点空间,因为用户可能想输入很长的URL。改变对话框大小后,可以添加三个标签和三个编辑控件,如图12.2所示。

    [1] [2] [3] 下一页  

  • 上一篇:使用OLE-DB或ADO建立数据库应用程序
    下一篇:理解超链接接口