Форум: "Основная";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизWebBrowser и картинки Найти похожие ветки
← →
fynjy1984 © (2006-09-25 11:19) [0]В WebBrowser"е включена опция "не загружать картинки" необходимо выполнить функцию "Показать рисунок" (как в контекстном меню на рисунке), т.е. чтоб загрузился один рисунок, а остальные также остались невидимыми.
И еще вопрос: можно ли сохранить рисунок со странички в файл, не загружая его еще раз. Вот такой код копирует этот файл из кэша:
GetUrlCacheEntryInfo(PChar(my_url),TInternetCacheEntryInfo(nil^), InfoBufSize);
if GetLastError = ERROR_INSUFFICIENT_BUFFER then
begin
GetMem(Info, InfoBufSize);
try
if GetUrlCacheEntryInfo(PChar(my_url),
TInternetCacheEntryInfo(Info^), InfoBufSize)then
begin
FileName := Info^.lpszLocalFileName;
kodfilename:=extractfilename(FileName);
CopyFile(PChar(FileName), PChar( ExtractFilePath( ParamStr( 0 ) ) + kodfilename), false);
end
finally
FreeMem(Info);
end; }
но для некоторых страниц этот код не работает (видимо в кэш они не сохраняются)
← →
fynjy1984 © (2006-09-25 14:01) [1]по второму вопросу нашел рабочий код, может кто-нибудь поможет избавиться от копирования в буфер (а то мало ли что там лежало в буфере, а я возьму и затру своей картинкой)
uses ClipBrd;
...
procedure TForm1.LoadImage(N:integer);
var body, imgs, controlRange: olevariant;
begin
body := WebBrowser1.OleObject.document.body;
imgs := WebBrowser1.OleObject.document.images.item(N);//нужный img
controlRange := body.createControlRange;
controlRange.add(imgs);// вместо imgs можно сразу вставить WebBrowser1.OleObject.document.images.item(N)
controlRange.execCommand("Copy", False, EmptyParam);//копируем
if ClipBoard.HasFormat(CF_BITMAP) then begin
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap, ClipBoard.GetAsHandle(cf_Bitmap), 0);//вставляем
Clipboard.Clear;//по желанию чистим буфер...
end;
end;
...
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
← →
Shadow_exe (2006-09-27 14:01) [2]У меня вопрос:
Мне наоборот надо включить ф-цию "не загружать картинки"!!
Как это сделать?
Помогите плиз...
← →
fynjy1984 © (2006-09-27 14:49) [3]
> У меня вопрос:Мне наоборот надо включить ф-цию "не загружать
> картинки"!!Как это сделать?Помогите плиз...
Я сделал так:uses
..., Registry,...
var Registry:TRegistry;
procedure TOptionsForm.CheckBox1Click(Sender: TObject);
begin
Registry := TRegistry.Create(KEY_ALL_ACCESS);
Registry.RootKey := HKEY_CURRENT_USER ;
Registry.OpenKey("\Software\Microsoft\Internet Explorer\Main", False);
try
if CheckBox1.Checked then
Registry.WriteString("Display Inline Images","yes")
else
Registry.WriteString("Display Inline Images","no")
except
end;
Registry.CloseKey;
end;
такой способ запрещает загрузку картинок в IE
вроде есть и другие способы, чтоб запретить только в своем WebBrowser"e, Яндекс поможет.
← →
fynjy1984 © (2006-09-29 08:27) [4]Удалено модератором
Примечание: Создание пустых сообщений
← →
fynjy1984 © (2006-10-05 08:10) [5]Удалено модератором
Примечание: Создание пустых сообщений
← →
Shadow_exe (2006-10-05 15:40) [6]Спасибо!
Мне помогло то что ты написал)))
← →
fynjy1984 © (2006-10-12 11:05) [7]Удалено модератором
Примечание: Создание пустых сообщений
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.05 c