Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как сделать WebBrowser плоским вместо 3D

Delphi , Интернет и Сети , Браузер

Как сделать WebBrowser плоским вместо 3D

Автор: Donovan J. Edye

Приходит 3d художник на собеседование в компанию по созданию компьютерных игр Шеф - за неделю нарисуйте какого нибудь монстра для нашей игры... Чисто на пробу, посмотреть на что вы способны.
- Не могли бы вы повернуться, чтобы я увидел вас со всех сторон, пожалуйста?

Следующий пример устанавливает borderStyle:


uses mshtml;

procedure TForm1.WBDocumentComplete(Sender: TObject; 
const pDisp: IDispatch; var URL: OleVariant);
var
  Doc : IHTMLDocument2;
  Element : IHTMLElement;
begin
  Doc := IHTMLDocument2(TWebBrowser(Sender).Document);
  if Doc = nil then
    Exit;
  Element := Doc.body;
  if Element = nil then
    Exit;
  case Make_Flat of
    TRUE : Element.style.borderStyle := 'none';
    FALSE : Element.style.borderStyle := '';
  end;
end;

Задача - сделать WebBrowser-контроль плоским вместо 3D-рендеринга.

Программный код использует библиотеку mshtml и устанавливает стиль границы HTML-элемента в either 'none' (плоский) или пустую строку ('') в зависимости от логического переменной Make_Flat.

Код выполняет следующие действия:

  1. Он получает событие WBDocumentComplete, когда WebBrowser-контроль завершает загрузку документа.
  2. Он кастит объект TWebBrowser в интерфейс IHTMLDocument2 и присваивает его переменной Doc.
  3. Если Doc не равен null, он получает элемент <body> HTML-документа с помощью свойства Doc.body и присваивает его переменной Element.
  4. Если Element не равен null, он устанавливает стиль границы элемента с помощью свойства style.borderStyle.

Логическая переменная Make_Flat determines, whether the border should be set to 'none' (flat) or an empty string (''). If Make_Flat is TRUE, the border will be set to 'none', effectively making it flat. If Make_Flat is FALSE, the border will remain as set by the HTML document.

Чтобы сделать WebBrowser-контроль плоским, вы можете установить Make_Flat в TRUE в вашем коде. Это должно удалить любые эффекты 3D-рендеринга и сделать браузер выглядеть как простой окно с границей.

Альтернативное решение:

Вместо программного установки стиля границы с помощью кода выше, вы можете использовать CSS для достижения этого эффекта. Вы можете добавить блок <style> в ваш HTML-документ, который устанавливает свойство border в 'none'. Например:

<style>
  body {
    border: none;
  }
</style>

Это установит границу всего HTML-документа в 'none', эффективно сделав его плоским. Вы можете добавить этот код в раздел <head> вашего HTML-документа или в внешний файл CSS, связанный с вашей страницей.

Надеюсь, это поможет!

В статье рассматривается способ изменения внешнего вида WebBrowser, преобразовав его из трёхмерной формы в плоскую, с помощью изменения стиля границы элемента BODY документа.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-12 16:13:45/0.0038261413574219/0