Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Frames в WebBrowser   Найти похожие ветки 

 
R@nger ©   (2003-03-15 10:42) [0]

Здравствуйте! Очень нужна помощь. Как в TWebBrowser обратиться к фреймам? Там есть такое свойство frames возвращает коллекцию фреймов. У этой коллекции есть метод item, который по идее должен возвращать отдельный фрейм. Так вот: какой тип должен быть у фрейма??
Буду благодарен за маленький примерчик.

Еще на MSDN нашел это:

// Assume pWin is a valid IHTMLWindow interface pointer for the main window

VARIANT frameRequested;
VARIANT frameOut;
IHTMLFramesCollection2* pFramesCol;
IHTMLWindow2* pRightFrameWindow;
IHTMLDocument2* pRightDoc;

frameRequested.vt = VT_BSTR;
frameRequested.bstrVal = L"rightframe";

hr = pWin->get_frames(&pFramesCol);
hr = pFramesCol->item(&frameRequested, &frameOut);

hr = frameOut.pdispVal->QueryInterface(IID_IHTMLWindow2, (void**)&pRightFrameWindow);
hr = pRightFrameWindow->get_document(&pRightDoc);

Кто в C разбирается мож переведете на Паскаль?
Заранее благодарен.


 
ga3 ©   (2003-03-15 15:57) [1]

uses activex, mshtml_tlb;
......
...
function GetFrame(WB: IWebbrowser2; FrameName: string): IWebbrowser2;
var
OleContainer: IOleContainer;
enum: IEnumUnknown;
TempUnk: IUnknown;
Fetched: system.PLongint;
FrameNo: integer;
Coll: HTMLElementCollection;
begin
With WB do
begin
if Assigned(document) then
begin
Coll:=HTMLElementCollection(HTMLDocument(Document).All.Tags("FRAME"));
for FrameNo:=0 to Coll.length-1 do
if HTMLFrameElement(Coll.item(FrameNo,varEmpty)).name=FrameName then break;
Fetched := 0;
OleContainer := Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum);
Enum.Skip(FrameNo);
Enum.Next(1, TempUnk, Fetched);
Result := TempUnk as IWebbrowser2;
end else Result := nil;
end;
end;

потом работаешь с результатом этой функции как с обычным WebBrowser


 
Джек ©   (2003-03-17 14:09) [2]

Спасибо за нужную функцию.
Но есть такая проблема.
Как определить, что нужный фрейм (по индексу) загружен?
Чтобы не ждать полной загрузки всего документа.



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-46929
NetBreaker666
2003-04-25 15:06
2003.05.15
Админам:


11-46672
Igit
2002-08-12 09:38
2003.05.15
Вот заглянул в исходники KOL и...


3-46561
pathfinder
2003-04-22 18:15
2003.05.15
IBQuery или IBSQL?


3-46609
digester
2003-04-24 02:36
2003.05.15
роблемка с выводом отчётов


1-46801
exo
2003-05-02 12:47
2003.05.15
как дописать в конец файла с помощью TFileStream