IN ternet SEXplorer - русская поисковая программа для порносайтов.
uses
MSHTML;
procedure WB_SetBorderColor(Sender: TObject; BorderColor: String);
{
BorderColor: Can be specified in HTML pages in two ways.
1) by using a color name (red, green, gold, firebrick, ...)
2) or by using numbers to denote an RGB color value. (#9400D3, #00CED1,...)
See: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/
reference/properties/borderstyle.asp
}var
Document : IHTMLDocument2;
Element : IHTMLElement;
begin
Document := TWebBrowser(Sender).Document as IHTMLDocument2;
if Assigned(Document) thenbegin
Element := Document.Body;
if Element <> nilthenbegin
Element.Style.BorderColor := BorderColor;
end;
end;
end;
procedure WB_SetBorderStyle(Sender: TObject; BorderStyle: String);
{
BorderStyle values:
'none' No border is drawn
'dotted' Border is a dotted line. (as of IE 5.5)
'dashed' Border is a dashed line. (as of IE 5.5)
'solid' Border is a solid line.
'double' Border is a double line
'groove' 3-D groove is drawn
'ridge' 3-D ridge is drawn
'inset' 3-D inset is drawn
'window-inset' Border is the same as inset, but is surrounded by an additional single line
'outset' 3-D outset is drawn
See: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/
reference/properties/borderstyle.asp
}var
Document : IHTMLDocument2;
Element : IHTMLElement;
begin
Document := TWebBrowser(Sender).Document as IHTMLDocument2;
if Assigned(Document) thenbegin
Element := Document.Body;
if Element <> nilthenbegin
Element.Style.BorderStyle := BorderStyle;
end;
end;
end;
procedure WB_Set3DBorderStyle(Sender: TObject; bValue: Boolean);
{
bValue: True: Show a 3D border style
False: Show no border
}var
Document : IHTMLDocument2;
Element : IHTMLElement;
StrBorderStyle: string;
begin
Document := TWebBrowser(Sender).Document as IHTMLDocument2;
if Assigned(Document) thenbegin
Element := Document.Body;
if Element <> nilthenbegincase BValue ofFalse: StrBorderStyle := 'none';
True: StrBorderStyle := '';
end;
Element.Style.BorderStyle := StrBorderStyle;
end;
end;
end;
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
// Put this code in the OnDocumentComplete event as well begin// Examples: // Show no border
WB_Set3DBorderStyle(Sender, False);
// Draw a double line border
WB_SetBorderStyle(Sender, 'double');
// Set a border color
WB_SetBorderColor(Sender, '#6495ED');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Webbrowser1.Navigate('www.SwissDelphiCenter.ch');
end;
Программа на Delphi использует компонент TWebBrowser для отображения веб-страницы Internet Explorer и взаимодействия с ней с помощью кода, похожего на JavaScript.
Программа имеет три процедуры:
WB_SetBorderColor: устанавливает цвет рамки элемента <body> документа.
WB_SetBorderStyle: устанавливает стиль рамки элемента <body> документа. Возможные значения: 'none', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset' и 'outset'.
WB_Set3DBorderStyle: отображает или скрывает 3D-стиль рамки для элемента <body> документа.
Эти процедуры вызываются из обработчика события WebBrowser1NavigateComplete2, которое триггерируется, когда веб-страница полностью загружена. Программа демонстрирует, как использовать эти процедуры, вызывая их с различными параметрами в этом обработчике.
Некоторые предложения:
Вместо использования жестко закодированных значений для цвета и стиля рамки, рассмотрите возможность передачи этих значений в виде параметров процедурам.
Вы можете добавить код обработки ошибок для случаев, когда веб-страница не имеет элемента <body> или когда стиль или цвет рамки не могут быть установлены.
Если вы хотите установить стиль или цвет рамки только для конкретного HTML-элемента, а не для всего документа <body>, вам нужно получить ссылку на этот элемент и использовать свойство Style этого элемента.
Вот пример модификации программы для передачи параметров процедурам:
procedureTForm1.WebBrowser1NavigateComplete2(Sender:TObject;constpDisp:IDispatch;varURL:OleVariant);beginWB_SetBorderColor(Sender,'#6495ED');// Установка цвета рамкиWB_SetBorderStyle(Sender,'double');// Установка стиля рамкиend;procedureTForm1.Button1Click(Sender:TObject);beginWebBrowser1.Navigate('www.SwissDelphiCenter.ch');end;
В этом примере обработчик события WebBrowser1NavigateComplete2 вызывает процедуры с жестко закодированными значениями для цвета и стиля рамки. Вы можете модифицировать это код, чтобы передавать параметры на основе ввода пользователя или других программных логик.
Статья описывает, как изменить цвет или стиль бордюра в TWebBrowser, используя Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.