为什么没抓到屏幕图像??(50分)

  • 主题发起人 yifeibbs
  • 开始时间
Y

yifeibbs

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么窗口显示后没有图像?????
是不是时机不对?
可不可以在其它事件中使用该代码?

procedure TMainFrm.ApplicationEvents1Activate(Sender: TObject);
var
DC:HDC;
screenCanvas:Tcanvas;
begin
DC:=getdc(0);
ScreenCanvas:=Tcanvas.Create;
ScreenCanvas.Handle:=DC;
img.Picture.Bitmap.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),screencanvas,Rect(0,0,screen.Width,screen.Height));
//img:Timage;img.align=alclient;
Screencanvas.Free;
releaseDC(0,DC);
end;
 
img.picture.bitmap分配大小了吗?
 
thank u!
procedure TMainFrm.FormActivate(Sender: TObject);
var
DC:HDC;
screenCanvas:Tcanvas;
begin
DC:=getdc(0);
ScreenCanvas:=Tcanvas.Create;
ScreenCanvas.Handle:=DC;
img.Picture.Bitmap.Width:=screen.Width;
img.Picture.Bitmap.Height:=screen.Height;
img.Picture.Bitmap.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),screencanvas,Rect(0,0,screen.Width,screen.Height));
Screencanvas.Free;
releaseDC(0,DC);
end;

代码修改后一切OK!
 
帖子结的仓促了!!
请问:为什么必须设置bitmap的大小哪?
为什么bitmap的大小不和timage一样大?
 
TImage相当于镜框。 没分配Bitmap大小的Image相当于一个里面没安画的空镜框。
 
顶部