WEB开发网
开发学院软件开发VC MFC程序员WTL指南(7)包容ActiveX控件 阅读

MFC程序员WTL指南(7)包容ActiveX控件

 2008-01-19 20:26:50 来源:WEB开发网   
核心提示:atlcom.h和atlhost.h是很重要的两个,它们含有一些COM相关类的定义(比如智能指针CComPtr),MFC程序员WTL指南(7)包容ActiveX控件(2),还有可以包容控件的窗口类,接下来看看maindlg.h中声明的CMainDlg类:class CMainDlg : public CAxDialog

atlcom.h和atlhost.h是很重要的两个,它们含有一些COM相关类的定义(比如智能指针CComPtr),还有可以包容控件的窗口类。

接下来看看maindlg.h中声明的CMainDlg类:

class CMainDlg : public CAxDialogImpl<CMainDlg>,
         public CUpdateUI<CMainDlg>,
         public CMessageFilter, public CIdleHandler

CMainDlg现在是从CAxDialogImpl类派生的,这是使对话框支持包容ActiveX控件的第一步。

最后,看看WinMain()中新加的一行代码:

int WINAPI _tWinMain(...)
{
//...
   _Module.Init(NULL, hInstance);
   AtlAxWinInit();
   int nRet = Run(lpstrCmdLine, nCmdShow);
   _Module.Term();
   return nRet;
}

AtlAxWinInit()注册了一个类名未AtlAxWin的窗口类,ATL用它创建ActiveX控件的包容窗口。

使用资源编辑器添加控件

和MFC的程序一样,ATL也可以使用资源编辑器向对话框添加控件。首先,在对话框编辑器上点击鼠标右键,在弹出的菜单中选择“Insert ActiveX control”:

VC将系统安装的控件显示在一个列表中,滚动列表选择“Microsoft Web Browser”,单击Insert按钮将控件加入到对话框中。查看控件的属性,将ID设为IDC_IE。对话框中的控件显示应该是这个样子的:

如果现在编译运行程序,你会看到对话框中的浏览器控件,它将显示一个空白页,因为我们还没有告诉它到哪里去。

在下一节,我将介绍与创建和包容ActiveX控件有关的ATL类,同时我们也会明白这些类是如何与浏览器交换信息的。

上一页  1 2 3 4 5 6 7  下一页

Tags:MFC 程序员 WTL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接