Нужно спрашивать как, а не спрашивать можно ли, из вопроса ответ...
Ну как как - сфоткал, загнал в буфер, открыл документ вставил.. все просто..(готового кода у меня нет, сделать времени нет)
Delphi и PrintScreen
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Алгоритм я понимаю.
Нехватает знаний.
я скопировала, загнала в буфер,открыла ворд, создала новый документ, а как втавить из буфера в ворд?
Нехватает знаний.
я скопировала, загнала в буфер,открыла ворд, создала новый документ, а как втавить из буфера в ворд?
wd1.Selection.InlineShapes.AddPicture('имя файла',EmptyParam,EmptyParam,EmptyParam);
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;
Этот код не помогает!!
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;
Код: Выделить всё
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;
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
sonechko, если из буфера
w.selection.Paste не работает?
w.selection.Paste не работает?

Всем спасибо! Все заработало