怎样才能将报表(或窗体上的某个区域)保存为图片???急,给点想法。 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的是用DELPHI程序实现吗?如果不是你可以用print screen sys rq键实现!有问题请发信息到我的E-mail:[email protected] 你也可以通过Timer控件实现!procedure TForm2.Timer1Timer(Sender: TObject);varFullscreen:Tbitmap;FullscreenCanvas:TCanvas;dc:HDC;begintimer1.Enabled:=false;Fullscreen:=TBitmap.Create;Fullscreen.Width:=screen.width;Fullscreen.Height:=screen.Height;DC:=GetDC(0);FullscreenCanvas:=TCanvas.Create;FullscreenCanvas.Handle:=DC;Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height));FullscreenCanvas.Free;ReleaseDC(0,DC);image1.picture.Bitmap:=fullscreen;image1.Width:=fullscreen.Width;image1.Height:=fullscreen.Height;fullscreen.free;form2.WindowState:=wsMaximized;form2.show;messagebeep(1);foldx:=-1;foldy:=-1;image1.Canvas.Pen.mode:=pmnot;//笔的模式为取反image1.canvas.pen.color:=clblack;//笔为黑色image1.canvas.brush.Style:=bsclear;//空白刷子flag:=true;end;procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);beginif trace=true then//是否在追踪鼠标?begin//是,擦除旧的矩形并画上新的矩形with image1.canvas dobeginrectangle(x1,y1,oldx,oldy);Rectangle(x1,y1,x,y);oldx:=x;oldy:=y;end;endelse if flag=true then//在鼠标所在的位置上画十字beginwith image1.canvas dobeginmoveTo(foldx,0);//擦除旧的十字LineTo(foldx,screen.height);moveto(0,foldy);lineto(screen.width,foldy);moveTo(x,0);//画上新的十字LineTo(x,screen.height);moveto(0,y);lineto(screen.width,y);foldx:=x;foldy:=y;end;end;有问题请发信息到我的E-mail:[email protected] Delphi调用存储过程的问题,在线等 如何指定StringGrid某一行或一列居中或左对齐或右对齐? 请叫日期函数? 怎么改变button控件caption值的颜色呀?就像计算器那些控件都是绿色的呀? 关于Active 控件的创建??? 高分求:用LZW的算法对字符串进行压缩/解压的例子? 请教一个小问题,如何在程序中给按扭speedbutton换图片。 问个简单的问题。 有关pagecontrol的changing事件问题? 简单的问题 对你们是简单的 dxdbgrid問題 各位,我现在准备编写项目技术开发文档,但是,我不知道这种文档的格式是怎样?谁能告诉我!(在线等待)
如果不是你可以用print screen sys rq键实现!
有问题请发信息到我的E-mail:[email protected]
procedure TForm2.Timer1Timer(Sender: TObject);
var
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
begin
timer1.Enabled:=false;
Fullscreen:=TBitmap.Create;
Fullscreen.Width:=screen.width;
Fullscreen.Height:=screen.Height;
DC:=GetDC(0);
FullscreenCanvas:=TCanvas.Create;
FullscreenCanvas.Handle:=DC;
Fullscreen.Canvas.CopyRect(Rect
(0,0,screen.Width,screen.Height),fullscreenCanvas,
Rect(0,0,Screen.Width,Screen.Height));
FullscreenCanvas.Free;
ReleaseDC(0,DC);
image1.picture.Bitmap:=fullscreen;
image1.Width:=fullscreen.Width;
image1.Height:=fullscreen.Height;
fullscreen.free;
form2.WindowState:=wsMaximized;
form2.show;
messagebeep(1);
foldx:=-1;
foldy:=-1;
image1.Canvas.Pen.mode:=pmnot;
//笔的模式为取反
image1.canvas.pen.color:=clblack;
//笔为黑色
image1.canvas.brush.Style:=bsclear;
//空白刷子
flag:=true;
end;
procedure TForm2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if trace=true then//是否在追踪鼠标?
begin//是,擦除旧的矩形并画上新的矩形
with image1.canvas do
begin
rectangle(x1,y1,oldx,oldy);
Rectangle(x1,y1,x,y);
oldx:=x;
oldy:=y;
end;
end
else if flag=true then//在鼠标所在的位置上画十字
begin
with image1.canvas do
begin
moveTo(foldx,0);//擦除旧的十字
LineTo(foldx,screen.height);
moveto(0,foldy);
lineto(screen.width,foldy);
moveTo(x,0);//画上新的十字
LineTo(x,screen.height);
moveto(0,y);
lineto(screen.width,y);
foldx:=x;
foldy:=y;
end;
end;
有问题请发信息到我的E-mail:[email protected]