Возвращаемся к исходному коду примера три. Пришло время столкнутся с WebBrowser COM. Пожалуйста добавте модуль MSHTML_TLB к вашему модули. Найти его можно в папке 'Units'. В данном примере можно обойтись без этого модуля, как впрочем и во всех других, однако он нужен для демонстративности - "что и от куда берется". Перед тем как вы воспользуетесь этим примером, будет полезно ознакомится со сновными принципами DOM в интернет. WebBrowser содержит интерфейс Document, который служит для взаимодействия с содержимым браузера "документом". Изначально этот интерфейс равен NULL, это логично, WebBrowser не загрузил документ. Признаком появления документа послужит события OnDocumentComplete, браузер вызовет это события когда закончит загрузку и подготовку документа. Данный пример демонстрирует интересную возможность браузера - он может переходить в режим редактирования загруженого документа, сделать это очень просто, когда документ загружен: IHTMLDocument2(WebBrowser1.Document).designMode := 'On'; Достаточно причудливый способ управления свойствами объекта, но давайте расмотрим его: WebBrowser1.Document - уже был у вас, однако Document интерфейс IDispatch, он не знает не о каких спицифических методах, для приведения его к нужному интерфейсу используем прямое указание IHTMLDocument2(WebBrowser1.Document). Надо отметить что в данном случае мы имеем дело с указателем на интерфейс, поэтому подобное заявление не что иное как указание Delphi как поступить с указателелм. Мы не случайно подключили дополнительный модуль с интерфейсами, иначе нам пришлось бы иметь дело в обстракными методами и свойствами, это было бы не столь демонстративно здесь. IHTMLDocument2(WebBrowser1.Document).designMode обращаемся к свойству IHTMLDocument2 designMode и устанавливаем его в 'on' включено. После чего наш браузер становится html редактором. На самом деле интерфейс Document единственый способ доступится к документу внутри браузера, но как много он умеет вы увидите в следующих примерах. Второй пример - активное добавление к содержимому документа Range := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; Range.Collapse(False) ; Range.PasteHTML(Edit2.Text) ; Обратите внимание на обращения к интерфейсу внутри Document и второму способу как это можно сделать. Этот код добавить текст к документу в WebBrowser.