Geckoベースのブラウザを作ろう。 at TECH
[2ch|▼Menu]
429:417
03/06/28 15:17
// で、作った窓のウィンドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
if (左クリックされたら) {
newWnd = CreateWindow(szClassNme, "", WS_CHILD | WS_VISIBLE |WS_BORDER|WS_VSCROLL, 0, 0, 400, 400, hWnd, NULL, ghInstanceApp, NULL);
// ウェブブラウザ
nsCOMPtr<nsIWebBrowser> webBrowser;
NS_ENSURE_TRUE(webBrowser = do_CreateInstance(NS_WEBBROWSER_CONTRACTID), NS_ERROR_FAILURE);
// サイトオブジェクト(WebBrowserSiteObject implement >>426
webBrowserSiteObject = new WebBrowserSiteObject;
NS_ENSURE_TRUE(webBrowserSiteObject, NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(webBrowserSiteObject);
// クローム登録
NS_ENSURE_SUCCESS(webBrowser->SetContainerWindow(NS_STATIC_CAST(nsIWebBrowserChrome*, webBrowserSiteObject)), NS_ERROR_FAILURE);
// セットアップ(まだよく分かってません)
nsCOMPtr<nsIWebBrowserSetup> setup;
NS_ENSURE_TRUE(setup = do_QueryInterface(webBrowser), NS_ERROR_FAILURE);
setup->SetProperty(nsIWebBrowserSetup::SETUP_IS_CHROME_WRAPPER, PR_TRUE);
// ベースウィンドウ
nsCOMPtr<nsIBaseWindow> baseWindow;
NS_ENSURE_TRUE(baseWindow = do_QueryInterface(webBrowser), NS_ERROR_FAILURE);
// 新しく作った子ウィンドウで初期化
NS_ENSURE_SUCCESS(baseWindow->InitWindow(nsNativeWidget(newWnd), nsnull, 10,10,100,100),NS_ERROR_FAILURE);
// Create(ここが無限ループになる)
cout << "出力される" <<endl;
NS_ENSURE_SUCCESS(baseWindow->Create(), NS_ERROR_FAILURE);
cout << "出力されない" <<endl;
}

以上です。何かあればよろしくお願いします。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5349日前に更新/225 KB
担当:undef