C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как отобразить html документ созданый в памяти в WebBrowser ? / Общие вопросы / Сеть

Тема:   Как отобразить html документ созданый в памяти в WebBrowser
fgoblin опубликован 16-07-2001 20:43 MSK   Click Here to See the Profile for fgoblin   Click Here to Email fgoblin  
Как отобразить html документ созданый в памяти в WebBrowser
OlegO опубликован 19-07-2001 12:22 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
Все просто получить у WebBrowser интерфейс на документ IHTMLDocument2 и записать в него.
Перед использованием инициализируй Документ вызывая Navigate на "about:blank".

Примерно так:

#include <mshtml.h>

...

IHTMLDocument2 *document = (IHTMLDocument2 *)m_Browser.GetDocument();

HRESULT hresult = S_OK;
VARIANT *param;
SAFEARRAY *sfArray;


BSTR bstr = SysAllocString(OLESTR("<HTML><BODY>Written by IHTMLDocument2::write().</BODY></HTML>"));

// Creates a new one-dimensional array
sfArray = SafeArrayCreateVector(VT_VARIANT, 0, 1);

if (sfArray == NULL

OlegO опубликован 19-07-2001 12:24 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
"символ или" document == NULL) {
goto cleanup;
}

hresult = SafeArrayAccessData(sfArray,(LPVOID*) & param);
param->vt = VT_BSTR;
param->bstrVal = bstr;
hresult = SafeArrayUnaccessData(sfArray);
hresult = document->write(sfArray);

cleanup:
SysFreeString(bstr);
if (sfArray != NULL) {
SafeArrayDestroy(sfArray);
}
cube опубликован 19-07-2001 14:15 MSK     Click Here to See the Profile for cube  Click Here to Email cube     
2 OlegO:

А назад можно примерчик? (в смысле из IE загруженный HTML в массив).

THanx

OlegO опубликован 19-07-2001 16:27 MSK     Click Here to See the Profile for OlegO  Click Here to Email OlegO     
:)
IHTMLDocument2* document = (IHTMLDocument2*)m_Browser.GetDocument();

IPersistStreamInitPtr PerStream = NULL;

HRESULT hresult = S_OK;

hresult = document->QueryInterface(IID_IPersistStreamInit,(void**)&PerStream);

if(SUCCEEDED(hresult))
{
IStreamPtr pStr = NULL;
CreateStreamOnHGlobal(NULL,TRUE,&pStr);
hresult = PerStream->Save(pStr,TRUE);

ULARGE_INTEGER uMaxSize, nowPosition;
LARGE_INTEGER setPosition = {0};
ULONG RealRead = 0;

hresult = pStr->Seek(setPosition,STREAM_SEEK_END,&uMaxSize);

BYTE *pBuff = new BYTE[uMaxSize.LowPart];

hresult = pStr->Seek(setPosition,STREAM_SEEK_SET,&nowPosition);
hresult = pStr->Read((void**)pBuff,uMaxSize.LowPart,&RealRead);

}

Советую посмотреть в MSDN "Loading HTML content from a Stream"
URL: mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN\2000OCT\1033\inet.chm::/workshop/browser/webbrowser/tutorials/webocstream.htm#stream