本日の成果

というかメモです。
GDI+で画像ビュアを作ろうとしてアニメGIFの表示で挫折し、IEコンポーネントでビュアを作っています。
以後、このビュアに関する話題では ビュア というタグをつけます。

WTL関係のエラーの解決策

error C3861: 'SetMsgHandled': 識別子が見つかりませんでした
error C3861: 'IsMsgHandled': 識別子が見つかりませんでした

というエラー。
どうやら、BEGIN_MSG_MAP(...)とEND_MSG_MAP()で囲まれた中にあるメッセージハンドラの数だけこのエラーが出ている模様。
つまりは定義されていないだけ。
この場合、BEGIN_MSG_MAPではなく、BEGIN_MSG_MAP_EXを使いましょう。

ATL.libがない。どうしよう。

VC++2008EEには無いようです。今入れているSDKにも無さそうなので、無料では手に入らないのかもしれません。
"C:\Program Files"の中を検索しても、64bit用のやつしか無かったのだから間違いないです(*1)。
そしてたどり着いたのがこのサイト
VC++2005EEの話ですが、きっとVC++2008EEでも有効な話です。以下、該当するレスとその訳(滅茶苦茶です)。

I used the wizard to generate a WTL MDI project with the Browser as the View type.
On linking I get the error: cannot find atl.lib
Can we get around this too?

ウィザードで、ビューをブラウザとしてWTL MDIプロジェクトを作ったのですが(HTMLを表示するウィンドウのプロジェクトを自動生成させた)、
リンクのとき、「atl.libが見つからない」というエラーが出ました。
あqwせdrftgyふじkl

そしてこのレスに対し、

Change properties.
Project -> Properties -> Configuration Properties ->General -> Project Defaults -> Use of ATL
"Static link to ATL"

Regards,
MB

プロパティを変えてください。
メニューバーから、プロジェクト→プロパティ→構成プロパティ→全般→プロジェクトの既定値→ATLの使用
を、ATLを静的にリンクへ。(リリースバージョンの時もだよ!)

がんばれ! マザーボードより。

この通りにやってみるとできました。解決したのでこれについては深く考えない事にします。

CAxWIndow

MSDN:ATL ライブラリ リファレンス CAxWindow クラス
CAxWindowは、「ActiveXコントロールをホストするウィンドウ」を操作できるクラスらしい。
内部的には "AtlAxWin80" がホストを行うらしい。

typedef CAxWindowT<CWindow> CAxWindow;

と宣言されている。atlwin.h。詳細の理解は諦めることにしますが、これを使えば画像だけでなくHTMLも表示できる。

*1:Microsoft Platform SDK for Windows Server 2003 R2のLib\IA64とLib\AMD64の中にならあるけど、僕の環境では使えないはず。