Отображение HTML на экранной форме
Материал из GedeminWiki
Для отображения HTML странички следует воспользоваться компонентом TWebBrowser. Создадим чистую форму и расположем на ней два компонента:
- usrg_WB типа TWebBrowser
- usrg_Btn типа TButton
Напишем обработчик события OnClick для кнопки usrg_Btn:
Option Explicit Sub usrg_BtnOnClick(ByVal Sender) Const READYSTATE_COMPLETE = 4 Dim WB, Doc Set WB = Sender.OwnerForm.GetComponent("usrg_WB") WB.Navigate "about:blank", null, null, null, null While WB.ReadyState < READYSTATE_COMPLETE Application.ProcessMessages WEnd Set Doc = WB.Document Doc.Body.InnerHTML = _ "<h1>Привет из Гедымина!</h1><p/><img src=""http://gsbelarus.com/gs/images/gs/2007/d6.jpg"" width=""200"" />" End Sub
По нажатию на кнопку в поле веб браузера отобразится фраза "Привет из Гедымина!" и загрузится изображение с сайта компании Golden Software.
Обратите внимание, что через свойство Body мы получаем доступ только к тегу BODY документа. Для определения своих стилей необходимо использовать метод CreateStyleSheet как показано на примере ниже.
Option Explicit Sub usrg_BtnOnClick(ByVal Sender) Const READYSTATE_COMPLETE = 4 Dim WB, Doc, SS Set WB = Sender.OwnerForm.GetComponent("usrg_WB") WB.Navigate "about:blank", null, null, null, null While WB.ReadyState < READYSTATE_COMPLETE Application.ProcessMessages WEnd Set Doc = WB.Document Set SS = Doc.CreateStyleSheet("", 0) SS.cssText = "body {background-color:#d0e4fe;}" Doc.Body.InnerHTML = _ "<h1>Привет из Гедымина!</h1><p/><img src=""http://gsbelarus.com/gs/images/gs/2007/d6.jpg"" width=""200"" />" End Sub