![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WebBrowser и картинки [D7]
fynjy1984 © (2006-09-25 11:19:00)В 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-10-12 11:05:00) [1]Удалено модератором
Примечание: Создание пустых сообщений
Shadow_exe (2006-10-05 15:40:00) [2]Спасибо!
Мне помогло то что ты написал)))
fynjy1984 (2006-10-05 08:10:00) [3]Удалено модератором
Примечание: Создание пустых сообщений
fynjy1984 (2006-09-29 08:27:00) [4]Удалено модератором
Примечание: Создание пустых сообщений
fynjy1984 (2006-09-27 14:49:00) [5]
> У меня вопрос:Мне наоборот надо включить ф-цию "не загружать
> картинки"!!Как это сделать?Помогите плиз...
Я сделал так:
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, Яндекс поможет.
Shadow_exe (2006-09-27 14:01:00) [6]У меня вопрос:
Мне наоборот надо включить ф-цию "не загружать картинки"!!
Как это сделать?
Помогите плиз...
fynjy1984 (2006-09-25 14:01:00) [7]по второму вопросу нашел рабочий код, может кто-нибудь поможет избавиться от копирования в буфер (а то мало ли что там лежало в буфере, а я возьму и затру своей картинкой)
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.