用WTL作界面开发1

用WTL作界面开发1
程序的进入函数不是C/C++的进入函数main,而是微软的进入函数winMain。其形式如下
int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
    //用户代码
    ...............
    return 0;
}

WTL是在ATL的基础上发展起来的,要用到ATL中的模块类CComModule,所以要初始化COM库。
初始化COM库调用CoInitialize,卸载COM库调用CoUninitialize。程序形式如下
#include < atlbase.h >

int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
    CoInitialize( NULL );//用于应用程序
    //用户代码
    ...............
   
    CoUninitialize();
    return 0;
}

WTL的应用程序部分的代码封装在了CAppModule中。要定义一个CAppModule的全局变量,保证在程序启动前就被构造好
CAppModule是继承的ATL中的CComModule类。程序形式演变成如下
#include < atlbase.h >
#include < atlapp.h > //WTL要用到的

int WINAPI _tWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd )
{
    CoInitialize( NULL );//用于应用程序
     _Module.Init( NULL, hInstance );//初始化一个应用程序
    //用户代码
    ...............
    _Module.Term();//销毁
    CoUninitialize();
    return 0;
}

你可能感兴趣的:(用WTL作界面开发1)