Стиль Delphi Xe2 VCL и веб-браузер

Win7 x64, обновление Delphi Xe22

Быстрый:

  1. В новом проекте, скомпилированном как x32, применяются визуальные (vcl) стили в параметрах проекта, по умолчанию выбран один
  2. На форме кнопка1 и WebBrowser1
  3. В кнопке пишем WebBrowser1.Navigate('http://google.com');
  4. Запускаем, нажимаем кнопку - в браузере видим сайт google.com, все ок

Компилируем как x64, запускается ок, при нажатии кнопки получаем ошибку "плавающее деление на ноль".

Вопросы:

  1. У всех так (ошибка)? И как с этим бороться? (в режиме x64)
  2. Как применить визуальный стиль к полосам прокрутки WebBrowser1? (в режиме x32) :( родной компонент не мог скинить, но система AlphaControls Skin - работает нормально, и строки прокрутки веб-браузера скинировались нормально

p.s. update3 еще не ставил

p.s.s. плохой английский: на


person Gu.    schedule 27.11.2011    source источник
comment
Плохой английский были такими классными. Серьезно, это было бы полезнее для других, если бы вы потратили несколько минут на исправление грамматических ошибок. Мне пришлось перечитать его несколько раз, и я до сих пор не уверен, что полностью понял вопрос.   -  person Kenneth Cochran    schedule 20.03.2012


Ответы (2)


Это можно сделать, создав подкласс компонента TWebBrowser и обработав эти события.

OnDocumentComplete
OnNavigateComplete2
OnBeforeNavigate2
OnCommandStateChange
OnProgressChange

плюс WM_SIZE сообщение окна.

Ключевым моментом является использование компонента TScrollbar и Twincontrol в качестве контейнера для перекрытия оригинальные полосы прокрутки веб-браузера.

Я только что написал статью, в которой подробно объясняется, как это можно реализовать Delphi Vcl Styles and TWebBrowser

person RRUZ    schedule 20.03.2012

Стили VCL нельзя применить к TWebBrowser AFAIK. Его пользовательский интерфейс управляется Internet Explorer, а не VCL.

person Remy Lebeau    schedule 28.11.2011
comment
полоски прокрутки - стандартный компонент windows, альфа-скин работает нормально - person Gu.; 28.11.2011