Я встраиваю WebKit в приложение Windows C ++. Я использую Каирский порт. Работает нормально.
Я хотел бы отключить полосы прокрутки, которые появляются, когда есть больше данных, которые может отображать клиентская область. Как и iPhone, в iPhone нет полос прокрутки, прокрутка реализована по-другому.
Как программно отключить полосы прокрутки в C ++ (без взломов Javascript)?
Обновление:
Я пытался позвонить HRESULT IWebFrame::setAllowsScrolling(BOOL flag)
. Чтобы получить интерфейс IWebFrame, я позвонил HRESULT IWebView::mainFrame(IWebFrame **frame)
. Это не похоже на работу. Полосы прокрутки все еще появляются. Что я делаю неправильно? Разве это не основной кадр, мой главный интерес здесь?
Обновление:
Я попытался включить режим плоской рамки следующим образом:
IWebPreferences *Preferences;
hr = pWebView->preferences(&Preferences);
if (FAILED(hr))
goto exit;
IWebPreferencesPrivate *PrivatePreferences = 0;
hr = Preferences->QueryInterface(IID_IWebPreferencesPrivate, (void **)&PrivatePreferences);
if (FAILED(hr))
goto exit;
hr = PrivatePreferences->setFrameSetFlatteningEnabled(TRUE);
if (FAILED(hr))
goto exit;
Код работает нормально, но, похоже, ничего не происходит. Что я тут не так делаю?
Обновление:
Я получил предложение включить WS_VSCROLL при создании главного окна. Это не тот случай:
MainWindow = CreateWindow(
WindowClass,
WindowTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
0,
iPhoneXRes + 16 + 20,
iPhoneYres + 110,
NULL,
NULL,
hInstance,
NULL
);
Спасибо