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

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

 2006-07-22 22:03:17 来源:WEB开发网   
核心提示: 接下来看看maindlg.h中声明的CMainDlg类:class CMainDlg : public CAxDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>, public CMessageFilter, publi

接下来看看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

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