Отображение HTML на экранной форме

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
(не показаны 6 промежуточных версий 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
 
    
 
    
 
   Doc.Body.InnerHTML = _
 
   Doc.Body.InnerHTML = _
 +
    "<h1>Привет из Гедымина!</h1><p/><img src=""http://gsbelarus.com/gs/images/gs/2007/d6.jpg"" width=""200"" />"
  
 
End Sub
 
End Sub
 
</syntaxhighlight>
 
</syntaxhighlight>
  
По нажатию на кнопку в поле веб браузера будет отображаться фраза "Привет из Гедымина!" и загружаться изображения с сайта компании Golden Software.
+
По нажатию на кнопку в поле веб браузера отобразится фраза "Привет из Гедымина!" и загрузится изображение с сайта компании 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>
 +
 
 +
====См. также====
 +
 
 +
* [http://docwiki.embarcadero.com/VCL/en/SHDocVw.TWebBrowser TWebBrowser]
 +
* [http://docwiki.embarcadero.com/VCL/en/StdCtrls.TButton TButton]
  
 
[[Category:Документация]]
 
[[Category:Документация]]
 
[[Category:Учебный курс]]
 
[[Category:Учебный курс]]

Текущая версия на 15:55, 12 декабря 2011

Для отображения HTML странички следует воспользоваться компонентом TWebBrowser. Создадим чистую форму и расположем на ней два компонента:

  1. usrg_WB типа TWebBrowser
  2. 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

[править] См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты