Отображение HTML на экранной форме
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| (не показаны 2 промежуточные версии 1 участника) | |||
| Строка 1: | Строка 1: | ||
| − | Для отображения HTML странички следует воспользоваться компонентом TWebBrowser. Создадим чистую форму и расположем на ней два компонента: | + | Для отображения HTML странички следует воспользоваться компонентом '''TWebBrowser'''. Создадим чистую форму и расположем на ней два компонента: |
| − | # usrg_WB типа TWebBrowser | + | # '''usrg_WB''' типа '''TWebBrowser''' |
| − | # usrg_Btn типа TButton | + | # '''usrg_Btn''' типа '''TButton''' |
| − | Напишем обработчик события OnClick для кнопки usrg_Btn: | + | Напишем обработчик события '''OnClick''' для кнопки '''usrg_Btn''': |
<syntaxhighlight lang="vbnet"> | <syntaxhighlight lang="vbnet"> | ||
Option Explicit | Option Explicit | ||
Sub usrg_BtnOnClick(ByVal Sender) | Sub usrg_BtnOnClick(ByVal Sender) | ||
| + | |||
| + | Const READYSTATE_COMPLETE = 4 | ||
Dim WB, Doc | Dim WB, Doc | ||
Set WB = Sender.OwnerForm.GetComponent("usrg_WB") | 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 Doc = WB.Document | ||
| Строка 20: | Строка 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | По нажатию на кнопку в поле веб браузера | + | По нажатию на кнопку в поле веб браузера отобразится фраза "Привет из Гедымина!" и загрузится изображение с сайта компании Golden Software. |
| + | |||
| + | Обратите внимание, что через свойство Body мы получаем доступ только к тегу BODY документа. Для определения своих стилей необходимо использовать метод CreateStyleSheet как показано на примере ниже. | ||
| + | |||
| + | <syntaxhighlight lang="vbnet"> | ||
| + | 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 | ||
| + | </syntaxhighlight> | ||
====См. также==== | ====См. также==== | ||
Текущая версия на 15:55, 12 декабря 2011
Для отображения 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