Visual c++ (x64) を使用して、独自の作成ウィンドウで html ファイルをレンダリングしようとしています。私は自分のウィンドウにhtmlファイルを表示するためのメカニズムが必要なだけのことをすべて行いました.htmlファイルの内容をバッファに保存しています(バッファに同じhtmlコードがあるのでそのファイルをメモ帳で開くので、ウィンドウでその html ファイルをレンダリングする方法を取得するだけです)
Google でのランダム検索で、私は ActiveX コントロールをホストする必要があることを認識していましたが、その方法がわかりません。もちろん、インターネット上で利用できるサンプルがいくつかありますが、Visual C++ (x64 MFC アプリケーション) 用ではありません。 .
私が念頭に置いているのは、(1.)次を使用してダイアログを作成することです-
HINSTANCE g_hInst2 = NULL;
m_hwndPreview= CreateDialogParam( g_hInst2,MAKEINTRESOURCE(IDD_HTML_DIALOG), m_hwndParent,(DLGPROC)DialogProc, (LPARAM)this);
//I have not implemented the part below (its just idea that what should i do?? please correct me
// if my idea is wrong)I have not implemented it because when i create dialog using CreateDialogParam(...) when i debug it i get m_hwndPreview=0000000000000
// and once if m_hwndPreview is done successfully i have assumed the code below in my
// mind to achieve my target. please correct me if i am wrong ??
CWebBrowser2 * pBrowse = (CWebBrowser2 *) GetDlgItem(IDC_EXPLORER1);
COleVariant sLoc("http://localhost");
pBrowse->Navigate2(sLoc, NULL, NULL, NULL, NULL);
//after that
if (SUCCEEDED(hr))
{
ShowWindow(m_hwndPreview, SW_SHOW);
UpdateWindow( m_hwndPreview );
}
私は正しいですか??
2 つの質問に答えてください (1.) なぜ m_hwndPreview=00000000000 なのですか?? リソース エディターを使用してダイアログ (IDD_HTML_DIALOG) を作成し、activex コントロール (Microsoft Web ブラウザー) を挿入したため、ファイル resource.h (#define IDC_EXPLORER1 1046 を持っています) で確認できるため、正常に実行されます。行われました。g_hInst2 に問題がある可能性があります。私はそれを適切に理解していません。(2.) 目標を達成するための私のアプローチは正しいですか?? _hwndPreview が正常に完了した場合、想定したコードが機能するかどうか?? 私のアプローチは正しいですか??