?? atl under the hood - part 1.mht
字號:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: The Code Project - ATL Under the Hood - Part 1 - ATL
Date: Thu, 12 Feb 2004 15:05:40 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_016C_01C3F179.ADCA29B0";
type="text/html"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
This is a multi-part message in MIME format.
------=_NextPart_000_016C_01C3F179.ADCA29B0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.codeproject.com/atl/atl_underthehood_.asp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>The Code Project - ATL Under the Hood - Part 1 - =
ATL</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META http-equiv=3DReply-to content=3Dmailto:webmaster@codeproject.com>
<META content=3D"Free source code and tutorials for Windows developers." =
name=3DDescription>
<META content=3D"Free source code, ATL, Visual C++, MFC, Windows, ATL"=20
name=3Dkeywords>
<META=20
content=3D"Article content copyright Zeeshan Amjad, 2002, everthing else =
Copyright =A9 CodeProject, 1999-2004, All Rights Reserved."=20
name=3DCopyright><LINK href=3D"/favicon.ico" type=3Dimage/ico =
rel=3Dicon><LINK=20
href=3D"/favicon.ico" rel=3D"SHORTCUT ICON"><LINK=20
href=3D"http://www.codeproject.com/styles/global.css" type=3Dtext/css=20
rel=3Dstylesheet>
<META content=3D"MSHTML 6.00.2800.1400" name=3DGENERATOR></HEAD>
<BODY text=3Dblack vLink=3Dpurple aLink=3Dred link=3Dblue =
bgColor=3Dwhite leftMargin=3D3=20
topMargin=3D3>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" bgColor=3D#ff9900 =
border=3D0>
<TBODY>
<TR>
<TD width=3D"100%">
<TABLE cellSpacing=3D1 cellPadding=3D0 width=3D"100%" =
bgColor=3D#ff9900=20
border=3D0><TBODY>
<TR>
<TD vAlign=3Dtop><A href=3D"http://www.codeproject.com/"><IMG =
height=3D72=20
alt=3D"The Code Project"=20
=
src=3D"http://www.codeproject.com/images/standard/logo225x72.gif"=20
width=3D225 border=3D0></A></TD>
<TD align=3Dright><SPAN id=3DAdBanner4><A=20
=
href=3D"http://www.codeproject.com/script/admentor/ads.asp"><IMG=20
height=3D60 alt=3D"View our advertisers"=20
=
src=3D"http://www.codeproject.com/script/admentor/images/sponsors.gif"=20
width=3D20 border=3D1></A><A=20
=
href=3D"http://www.codeproject.com/script/admentor/admentorredir.asp?id=3D=
481&way=3Dban"=20
target=3D_blank><IMG height=3D60=20
alt=3D"Ultimate Toolbox 9.0 - MFC 7.0 Compliant, with Office =
2003 like and Office XP like classes and hundreds more, all with 100% =
MFC source code"=20
=
src=3D"http://www.codeproject.com/script/admentor/images/Toolbox9banner.g=
if"=20
width=3D468 border=3D0></A><A=20
href=3D"http://www.codeproject.com/info/mediakit"><IMG =
height=3D60=20
alt=3D"Advertise on the CodeProject"=20
=
src=3D"http://www.codeproject.com/script/admentor/images/advertise.gif"=20
width=3D20 border=3D1></A></SPAN></TD></TR>
<TR>
<TD bgColor=3D#fbedbb colSpan=3D2>
<TABLE cellPadding=3D3 width=3D"100%" bgColor=3D#fbedbb =
border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D"100%"><FONT style=3D"FONT-SIZE: 8pt"><A=20
href=3D"http://www.codeproject.com/?cat=3D1">All =
Topics</A>, <A=20
href=3D"http://www.codeproject.com/?cat=3D2">MFC / =
C++</A>=20
>> <A =
href=3D"http://www.codeproject.com/atl/">ATL</A>=20
>> <A=20
=
href=3D"http://www.codeproject.com/atl/#Beginners">Beginners</A></FONT><B=
R><BR><B><FONT=20
style=3D"FONT-SIZE: 16pt" size=3D4>ATL Under the Hood =
- Part=20
1</FONT></B><BR><B>By <A=20
=
href=3D"http://www.codeproject.com/script/profile/whos_who.asp?id=3D5890"=
>Zeeshan=20
Amjad</A> </B><BR><BR><FONT style=3D"FONT-SIZE: =
9pt">In this=20
series of tutorials I am going to discuss some of the =
inner=20
workings of ATL and the techniques that ATL =
uses. </FONT>=20
</TD>
<TD vAlign=3Dtop align=3Dright>
<TABLE cellSpacing=3D0 cellPadding=3D1 width=3D140 =
border=3D0>
<TBODY>
<TR>
<TD> </TD>
<TD><FONT class=3DSmallText color=3Dgreen=20
size=3D1><B>Beginner</B></FONT></TD></TR>
<TR vAlign=3Dtop>
<TD> </TD>
<TD class=3DSmallText>VC7, VC6, XP, W2K, Win9X, =
ATL</TD></TR>
<TR>
<TD> </TD>
<TD class=3DSmallText noWrap>Posted 28 Jan =
2002</TD></TR>
<TR vAlign=3Dtop>
<TD><IMG height=3D16=20
=
src=3D"http://www.codeproject.com/images/hlp.gif"=20
width=3D16></TD>
<TD class=3DSmallText noWrap><A=20
=
href=3D"http://www.codeproject.com/script/Articles/list_articles.asp?user=
id=3D5890">Articles=20
by this author</A></TD></TR>
<TR vAlign=3Dtop>
<TD></TD>
<TD class=3DSmallText noWrap><B>64,383</B>=20
=
views</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD colSpan=3D2>
<TABLE id=3DtblSiteToolbar cellSpacing=3D0 cellPadding=3D1 =
width=3D"100%"=20
border=3D0>
<TBODY>
<TR>
<FORM name=3DSearch action=3D/info/search.asp =
method=3Dpost>
<TD vAlign=3Dtop align=3Dleft width=3D"100%">
<TABLE cellSpacing=3D0 cellPadding=3D1 border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD class=3DsmallText><B><FONT=20
color=3Dwhite>Search:</FONT></B></TD>
<TD class=3Dnavbar noWrap><INPUT class=3DsmallText =
maxLength=3D255 size=3D18 name=3Dtarget></TD>
<TD vAlign=3Dtop><SELECT class=3DsmallText =
name=3Dst>=20
<OPTION value=3Dkw selected>Articles</OPTION> =
<OPTION=20
value=3Dau>Authors</OPTION></SELECT></TD>
<TD><INPUT class=3DformButton type=3Dsubmit =
value=3DGo></TD></TR></TBODY></TABLE></TD></FORM>
<SCRIPT language=3DJavaScript=20
=
src=3D"http://www.codeproject.com/script/toolbar.js"></SCRIPT>
<SCRIPT language=3DJavaScript>
<!--
window.onerror =3D new Function("return false;");
window.onload =3D init;
var eActiveButton =3D null;
function init(){
tblSiteToolbar.onselectstart =3D new Function("return false;");
}
//-->
</SCRIPT>
<TD noWrap width=3D"100%"></TD>
<TD class=3DclsButtonBar>
<TABLE class=3DclsButton =
onmousedown=3Dbutton_down(this);=20
id=3DtblFAQBtn onmouseover=3Dbutton_over(this);=20
title=3D"Frequently Asked Questions" =
onclick=3Dbutton_click(this);=20
onmouseout=3Dbutton_out(this); cellSpacing=3D0 =
cellPadding=3D0=20
border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD noWrap><A class=3DclsButtonLnk=20
=
href=3D"http://www.codeproject.com/info/faq.asp">FAQ</A></TD></TR></TBODY=
></TABLE></TD>
<TD noWrap width=3D"100%"></TD>
<TD class=3DclsButtonBar>
<TABLE class=3DclsButton =
onmousedown=3Dbutton_down(this);=20
id=3DtblLatestBtn onmouseover=3Dbutton_over(this);=20
title=3D"View the latest additions and updates at =
CodeProject"=20
onclick=3Dbutton_click(this); =
onmouseout=3Dbutton_out(this);=20
cellSpacing=3D0 cellPadding=3D0 border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD noWrap><A class=3DclsButtonLnk=20
=
href=3D"http://www.codeproject.com/info/latest.asp">What's=20
New</A></TD></TR></TBODY></TABLE></TD>
<TD class=3Dsmalltext></TD>
<TD class=3DclsButtonBar>
<TABLE class=3DclsButton =
onmousedown=3Dbutton_down(this);=20
id=3DtblLoungeBtn onmouseover=3Dbutton_over(this);=20
title=3D"Want to laze about and catch up with your =
fellow developers?"=20
onclick=3Dbutton_click(this); =
onmouseout=3Dbutton_out(this);=20
cellSpacing=3D0 cellPadding=3D0 border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD noWrap><A class=3DclsButtonLnk=20
=
href=3D"http://www.codeproject.com/lounge.asp">Lounge</A></TD></TR></TBOD=
Y></TABLE></TD>
<TD class=3Dsmalltext></TD>
<TD class=3DclsButtonBar>
<TABLE class=3DclsButton =
onmousedown=3Dbutton_down(this);=20
onmouseover=3Dbutton_over(this);=20
title=3D"Submit your code to the Code Project"=20
onclick=3Dbutton_click(this); =
onmouseout=3Dbutton_out(this);=20
cellSpacing=3D0 cellPadding=3D0 border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD noWrap><A class=3DclsButtonLnk=20
=
href=3D"http://www.codeproject.com/info/submit.asp">Contribute</A></TD></=
TR></TBODY></TABLE></TD>
<TD class=3Dsmalltext></TD>
<TD class=3DclsButtonBar>
<TABLE class=3DclsButton =
onmousedown=3Dbutton_down(this);=20
id=3DtblForumBtn onmouseover=3Dbutton_over(this);=20
title=3D"Need an answer to a programming problem?"=20
onclick=3Dbutton_click(this); =
onmouseout=3Dbutton_out(this);=20
cellSpacing=3D0 cellPadding=3D0 border=3D0>
<TBODY>
<TR vAlign=3Dcenter>
<TD noWrap><A class=3DclsButtonLnk=20
=
href=3D"http://www.codeproject.com/script/comments/forums.asp">Message=20
=
Boards</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR><=
/TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D1 border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD vAlign=3Dtop bgColor=3D#fbedbb rowSpan=3D2>
<TABLE cellSpacing=3D0 cellPadding=3D0 border=3D0>
<SCRIPT language=3Djavascript>
function ErrorHandle() {}
window.onerror =3D ErrorHandle;
function OnNLSubmit(option)
{
if (option=3D=3D"up")
document.subForm.action =3D =
"/script/profile/modify.asp?ct=3D%2Fatl%2Fatl%5Funderthehood%5F%2Easp";
else if (option=3D=3D"in")
document.subForm.action =3D =
"/script/profile/process_logon.asp?ct=3D%2Fatl%2Fatl%5Funderthehood%5F%2E=
asp";
document.subForm.submit();
return true;
}
</SCRIPT>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=3D3 cellPadding=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD></TD>
<TD></TD></TR>
<TR vAlign=3Dtop>
<TD></TD>
<TD class=3DInfoBarHeader>Toolbox</TD></TR>
<TR>
<TD bgColor=3Dblack colSpan=3D2><IMG height=3D1=20
src=3D"http://www.codeproject.com/images/space.gif"=20
width=3D1></TD></TR>
<TR vAlign=3Dtop>
<TD></TD>
<TD class=3DsmallText><A=20
=
href=3D"http://www.codeproject.com/script/common/mailform.asp?option=3DAr=
ticle&Title=3DATL+Under+the+Hood+%2D+Part+1&URL=3Dhttp%3A%2F%2Fww=
w%2Ecodeproject%2Ecom%2Fatl%2Fatl%5Funderthehood%5F%2Easp">Broken=20
links?</A></TD></TR>
<TR vAlign=3Dtop>
<TD></TD>
<TD></TD></TR>
<TR vAlign=3Dtop>
<TD><IMG height=3D16=20
=
src=3D"http://www.codeproject.com/script/images/support_icon.gif"=20
width=3D16></TD>
<TD class=3DsmallText><A=20
href=3D"http://www.codeproject.com/store/"><B>VS.NET =
2003 from=20
$899</B></A></TD></TR>
<TR vAlign=3Dtop>
<TD><IMG height=3D16=20
=
src=3D"http://www.codeproject.com/script/images/support_icon.gif"=20
width=3D16></TD>
<TD class=3DsmallText><A=20
href=3D"http://www.codeproject.com/store/"><B>MSDN =
Univ. from=20
$1950</B></A></TD></TR>
<TR vAlign=3Dtop>
<TD></TD>
<TD></TD></TR>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -