procedure TForm1.Button1Click(Sender: TObject);
var
fullscreen:TBitmap;
fullscreencanvas:TCanvas;
dc:HDC;//
begin
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));
ReleaseDC(0,dc);
image1.Picture.Bitmap:=fullscreen;
end;以上程序很简单就是将当前windows屏幕复制到image上 但是有几个地方不明白
分别是
dc:HDC;
dc:=GetDC(0);
fullscreencanvas.Handle:=dc;
ReleaseDC(0,dc);以上这些操作应该是跟句柄有关 为什么必须这么做 如果取消掉上面这些操作 会怎样?
var
fullscreen:TBitmap;
fullscreencanvas:TCanvas;
dc:HDC;//
begin
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));
ReleaseDC(0,dc);
image1.Picture.Bitmap:=fullscreen;
end;以上程序很简单就是将当前windows屏幕复制到image上 但是有几个地方不明白
分别是
dc:HDC;
dc:=GetDC(0);
fullscreencanvas.Handle:=dc;
ReleaseDC(0,dc);以上这些操作应该是跟句柄有关 为什么必须这么做 如果取消掉上面这些操作 会怎样?
谁到上面的帖子随便发个帖子 我要结贴领会是与我的10分
fullscreencanvas.Handle:=dc;//将画布的Handle设置为dc
ReleaseDC(0,dc);//释放桌面设备句柄