Страница 2 из 2
Добавлено: 30 окт 2006, 13:23
Duncon
Нужно спрашивать как, а не спрашивать можно ли, из вопроса ответ...
Ну как как - сфоткал, загнал в буфер, открыл документ вставил.. все просто..(готового кода у меня нет, сделать времени нет)
Добавлено: 31 окт 2006, 17:33
sonechko
Алгоритм я понимаю.
Нехватает знаний.
я скопировала, загнала в буфер,открыла ворд, создала новый документ, а как втавить из буфера в ворд?
Добавлено: 31 окт 2006, 19:44
Duncon
wd1.Selection.InlineShapes.AddPicture('имя файла',EmptyParam,EmptyParam,EmptyParam);
Добавлено: 02 ноя 2006, 18:30
sonechko
Duncon,
Этот код не помогает!!
procedure TForm3.Button4Click(Sender: TObject);
var
ScreenDC:HDC;
DeskTopCanvas:TCanvas;
Bitmap: TBitmap;
Rect: TRect;
w,doc:variant;
begin
ScreenDC := GetDC(0);
DeskTopCanvas := TCanvas.Create;
Bitmap := TBitmap.Create;
try
DeskTopCanvas.Handle:=ScreenDC ;
Rect:=Bounds(Form3.Left,Form3.Top,Form3.Width,Form3.Height);
Bitmap.Width := Screen.Width;
Bitmap.Height := Screen.Height;
Bitmap.Canvas.CopyRect(Rect, DeskTopCanvas, Rect);
ReleaseDC(0,ScreenDC);
Bitmap.SaveToFile('c:/screen.bmp'); //Сохраняем экран в файл
Clipboard.Assign(Bitmap);//Сохраняем в буфер обмена
finally
w:=CreateOleObject('Word.Application');
w.Visible:=true;
w.Documents.Add;
КАК ЕГО ПРавильно теперь вызвать. Не обязательно из файла. Лучше из буффера!!!!!!!!!
Bitmap.Free;
DeskTopCanvas.Free;
end;
Добавлено: 02 ноя 2006, 23:26
Duncon
Код: Выделить всё
var
ScreenDC: HDC;
DeskTopCanvas: TCanvas;
Bitmap: TBitmap;
Rect: TRect;
w, doc: variant;
begin
ScreenDC := GetDC(0);
DeskTopCanvas := TCanvas.Create;
Bitmap := TBitmap.Create;
try
DeskTopCanvas.Handle:=ScreenDC ;
// Rect:=Bounds(Form3.Left,Form3.Top,Form3.Width,Form3.Height);
Rect:=Bounds(10,10,600,600);
//
Bitmap.Width := Screen.Width;
Bitmap.Height := Screen.Height;
Bitmap.Canvas.CopyRect(Rect, DeskTopCanvas, Rect);
ReleaseDC(0,ScreenDC);
Bitmap.SaveToFile('c:/screen.bmp'); //Сохраняем экран в файл
// Clipboard.Assign(Bitmap);//Сохраняем в буфер обмена
finally
w:=CreateOleObject('Word.Application');
w.Visible:=true;
w.Documents.Add;
///////////////////////////////////////////////////////////////
w.Selection.InlineShapes.AddPicture('c:/screen.bmp',EmptyParam,EmptyParam,EmptyParam);
//КАК ЕГО ПРавильно теперь вызвать. Не обязательно из файла. Лучше из буффера!!!!!!!!!
Bitmap.Free;
DeskTopCanvas.Free;
end;
end;
Добавлено: 03 ноя 2006, 14:12
Игорь Акопян
sonechko, если из буфера
w.selection.Paste не работает?
Добавлено: 03 ноя 2006, 16:06
sonechko
Всем спасибо! Все заработало