一下创建一个ATL工程,编译生成atl的控件,并在web中演示。
第一步,建立工程:(VS2005)
“文件”---“新建”---“项目”,项目类型选择“ATL”,项目模版选择“ATL项目”。输入名称"ATLTemp"后点确定,“服务器类型”选择“动态链接库”。
第二步,添加控件:
选中工程右键添加类,类别选择“ATL”,模版选择'ATL控件“,点击添加按钮。在”简称“中输入一个名称"Render",IDE会自动填充其他的编辑框,会在简称前加一个"C"标识类名,加“I”标识接口名,其他暂时不用管,全部采用默认。
第三步,添加方法:
在接口IRender上添加方法RendHelloWorld,右键“添加”--“添加方法”,输入方法名“RendHelloWorld”,点击完成,IDE会自动在实现类添加实现方法。转到实现类中(Render.cpp),在STDMETHODIMP CRender::RendHelloWorld(void)中添加代码:MessageBox(L"Hello World !");
编译链接生成ATLTemp.dll。
说明:
IDE在创建工程的时候会自动生成
STDAPI DllRegisterServer(void)
STDAPI DllUnregisterServer(void)
这两个导出函数用来注册和反注册控件,在IDE链接完成后会自动注册,也可以手动调用regsvr32.exe注册。
建立一个简单html页面测试这个atl控件。
其中的clsid到ATLTemp_i.c文件中找到“MIDL_DEFINE_GUID(CLSID, CLSID_Render,“之后的GUID。