91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++如何通過webview展示網頁內容

c++
小樊
118
2024-07-25 16:11:16
欄目: 編程語言

在C++中展示網頁內容可以使用webview控件,以下是一個簡單的示例代碼:

#include <Windows.h>
#include <atlbase.h>
#include <atlwin.h>
#include <ExDisp.h>
#include <Mshtml.h>

class CWebView : public CWindowImpl<CWebView, CAxWindow> {
public:
    DECLARE_WND_SUPERCLASS(NULL, CAxWindow::GetWndClassName())

    BEGIN_MSG_MAP(CWebView)
        MESSAGE_HANDLER(WM_CREATE, OnCreate)
        MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
    END_MSG_MAP()

    LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {
        RECT rcClient;
        GetClientRect(&rcClient);

        CComPtr<IWebBrowser2> spWebBrowser;
        HRESULT hr = spWebBrowser.CoCreateInstance(CLSID_WebBrowser);
        if (SUCCEEDED(hr)) {
            hr = CAxWindow::Create(m_hWnd, rcClient, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, WS_EX_CLIENTEDGE, 0, spWebBrowser, nullptr);
            if (SUCCEEDED(hr)) {
                CComVariant varUrl(L"https://www.example.com");
                hr = spWebBrowser->Navigate2(&varUrl, nullptr, nullptr, nullptr, nullptr);
            }
        }

        return 0;
    }

    LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) {
        PostQuitMessage(0);
        return 0;
    }
};

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    CWebView view;
    view.Create(NULL, CWindow::rcDefault, _T("Web View Example"), WS_OVERLAPPEDWINDOW);
    view.ShowWindow(nCmdShow);

    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    return (int)msg.wParam;
}

在上面的示例中,我們創建了一個自定義的CWebView類,繼承自CWindowImplCAxWindow,并實現了OnCreateOnDestroy消息處理函數。在OnCreate函數中,我們創建了一個IWebBrowser2對象,并將其添加到窗口中,然后加載了指定的網頁內容。在WinMain函數中,我們創建了一個CWebView對象并顯示出來。

請注意,此示例代碼僅在Windows環境下有效,需要使用Visual Studio或其他支持C++編譯的IDE進行編譯。您也可以根據需要調整代碼以適應不同平臺和需求。

0
高雄县| 二手房| 江阴市| 都昌县| 米易县| 天等县| 时尚| 普兰县| 龙海市| 视频| 逊克县| 昭通市| 武威市| 深泽县| 安丘市| 宜兰县| 灵璧县| 乐山市| 资中县| 长阳| 类乌齐县| 平利县| 连山| 迭部县| 石门县| 汝州市| 常德市| 兴化市| 双鸭山市| 运城市| 阳春市| 乡宁县| 拉萨市| 明光市| 灵山县| 斗六市| 阿城市| 阿拉善右旗| 都兰县| 佛坪县| 焉耆|