Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизКак получить картинку с браузера? Найти похожие ветки
← →
Ш-К (2002-07-03 17:11) [0]Как получить изображение с браузера в битмап? Т.е. мне надо "получить" канву открытого документа и скопировать её в битмап даже если она перекрывается чужими окнами.
← →
Fiend (2002-07-03 17:37) [1]Ну наверна по хэндлу окна получить котекст устройства и скопировать куда то к себе
← →
Ш-К (2002-07-04 01:07) [2]У меня есть файл *.html и мне надо просто отобразить его содержимое в Image, уменьшинной копией.
Я пытаюсь делать через загрузку в веббраузер. И как мне " по хэндлу окна получить котекст устройства"?
Такой код не работает:
DC:= GetDC(WebBrowser1.HWND);
← →
Fiend (2002-07-04 10:01) [3]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, OleCtrls, SHDocVw_TLB;
type
TForm1 = class(TForm)
WebBrowser: TWebBrowser_V1;
Image: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
var HWWW: HDC;
begin
HWWW:= GetDC(WebBrowser.Handle);
BitBlt(Image.Canvas.Handle, 0,0,Image.width,Image.Height,
HWWW,0,0, SRCCOPY);
Image.refresh;
ReleaseDC(WebBrowser.Handle, HWWW);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
WebBrowser.Navigate(" http://localhost/cr/");
end;
end.
← →
Ш-К (2002-07-04 15:41) [4]WebBrowser.Handle - дескриптор TOleConteiner или, если угодно TWinControl. Через него отображается всё, что на нём "лежит", включая другие окна.
А мне надо только файл отобразить, желательно весь, а не то как он выглядит в TOleConteiner.
Я просто видел программы которые показывают документы полностью в расте.
← →
int64 (2002-07-04 16:09) [5]Документ можно привести к интерфейсу IViewObject.
Вот для твоей задачи:
procedure TForm1.Button1Click(Sender: TObject);
var WB1: TWebBrowser;
r: TRect;
begin
r:=Rect(10,10,200,400);
WB := TWebBrowser.Create(nil);
TControl(WB).Parent := Panel1;//где нет скроллбаров
WB.Left:= 4000; WB.Top:= 4000; //это чтобы спрятать
WB.Height:= 500; //поэксперементируй с размерами
WB.Navigate("c:\temp\1.htm");
while WB.ReadyState<>READYSTATE_COMPLETE do
Forms.Application.ProcessMessages;
(WB.Document as IViewObject).Draw(DVASPECT_CONTENT,
1, nil, nil, Self.Handle,
Self.Canvas.Handle, @r, nil, nil, 0);
WB.Free;
end;
Дерзай.
← →
Ш-К (2002-07-04 17:23) [6]АГРОМНЫЙ СПАСИБ!!! :)))))))))))))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c