Pocket IE control

入手しました。
W-ZERO3IEInternet Explorer Mobile ≒ Pocket IE)もコントロールとして使うことができました。
ただし、Windows CEの標準品とCLSIDが異なるようです。
以下のようにしてウィンドウ上へコントロールを動的生成できます。


#include "webvw.h"
...
class CTestDlg : public CDialog {
...
// メンバ変数
CWnd m_PIE;
CComQIPtr<IBrowser3> m_PIEIF;
...
BOOL CTestDlg::OnInitDialog()
...
// 適当な場所でコントロールを作成
#ifdef _WIN32_WCE_CEPC
// 普通のCE
#define PIE_CLSID "{698E3FCA-70C3-11D0-81E8-00A0C90AD20A}"
#else
// W-ZERO3
#define PIE_CLSID "{698E3FCA-70C3-11D0-81E8-00A0C90AD21A}"
#endif
#define MY_PIE_ID 2000 // 適当なID
if ( m_PIE.CreateControl( _T( PIE_CLSID ), NULL, WS_CHILD | WS_VISIBLE, CRect( 20, 20, 200, 200 ), this, MY_PIE_ID ) ) {
CComPtr<IUnknown> spunk = m_PIE.GetControlUnknown();
// IBrowserが取得できなければNULLになる
m_PIEIF = spunk;
}
...
CString strURL = ...
...
if ( m_PIEIF ) {
m_PIEIF->navigate( const_cast<wchar_t *>(static_cast<const wchar_t *>(strURL)), 0, NULL, NULL );
}