WEB开发网
开发学院软件开发VC 初识WTL(上) 阅读

初识WTL(上)

 2006-07-22 22:03:01 来源:WEB开发网   
核心提示: Ⅱ:int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT){CMessageLoop theLoop;_Module.AddMessageLoop(&theLoop);CMainFrame wndMain

Ⅱ:

int Run(LPTSTR /*lpstrCmdLine*/ = NULL, int nCmdShow = SW_SHOWDEFAULT)
{
  CMessageLoop theLoop;
  _Module.AddMessageLoop(&theLoop);
  CMainFrame wndMain;
  if(wndMain.CreateEx() == NULL)
  {
    ATLTRACE(_T("Main window creation failed!\n"));
    return 0;
  }
  wndMain.ShowWindow(nCmdShow);
  int nRet = theLoop.Run();
  _Module.RemoveMessageLoop();
  return nRet;
}

该函数创建了一个CMessageLoop实例,该实例包含了这个线程的消息循环。这些消息循环都放在模块的全局消息循环中,通过线程的ID来索引。这样,该线程的其它代码就能访问得到。每一个应用程序维护一个消息循环队列Map,应用程序中的每个线程都通过"_Module.AddMessageLoop(&theLoop)",把该线程的消息循环加入到_Module的消息循环Map中。消息循环对象包含了消息过滤和空闲处理。每个线程都可以加入空闲处理代码和消息过滤。

● 添加代码:

Ⅰ:在stdafx.h中添加:

#include <atlctrls.h>
#include <atlctrlx.h>
#include <atlctrlw.h>  //这三个是WTL 中实现常用控件类
#include <atldlgs.h>
#include <atlmisc.h>  //WTL 使用类像 CString等
#include <atlddx.h>  //WTL 使用像MFC中DDX/DDV 机制

Ⅱ:添加3个图标资源:IDR_DEFAULT, IDR_DATE, IDR_TIME

Ⅲ:在MainFrm.h中添加 CMultiPaneStatusBarCtrl m_Mstatus;

Ⅳ:在MainFrm.cpp中添加

在函数最前面声明两个数组:

static int arrPanes[] = { IDR_DEFAULT, IDR_DATE, IDR_TIME };
static int arrWidths[] = { 450,200, 600 }; //你自己修改一下值看看有什么不同

在OnCreate函数中添加:

CreateSimpleStatusBar();
m_Mstatus.SubclassWindow(m_hWndStatusBar);
m_Mstatus.SetPanes(arrPanes,sizeof(arrPanes)/sizeof(int), false);
m_Mstatus.SetPaneWidth(IDR_DEFAULT,400);
m_Mstatus.SetPaneWidth(IDR_DATE,200);
m_Mstatus.SetPaneWidth(IDR_TIME,900);
m_Mstatus.SetPaneIcon(IDR_DEFAULT,AtlLoadIconImage(IDR_DEFAULT, LR_DEFAULTCOLOR));
m_Mstatus.SetPaneIcon(IDR_DATE, AtlLoadIconImage(IDR_DATE, LR_DEFAULTCOLOR));
m_Mstatus.SetPaneIcon(IDR_TIME, AtlLoadIconImage(IDR_TIME, LR_DEFAULTCOLOR));
m_Mstatus.SetPaneText(IDR_DATE,"WTL is very wonderful!",0);
m_Mstatus.SetPaneText(IDR_TIME,"WWW.VCKBASE.COM",0);

这些代码相信大家一看就会明白!

参考资料:

深入剖析WTL——Win32模型,作者:建新

WTL for MFC Programmers 作者:Michael Dunn

在此深表感谢

上一页  1 2 3 

Tags:初识 WTL

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