B
base7
Unregistered / Unconfirmed
GUEST, unregistred user!
我用了如下方法:
这样执行一遍后看起来就象是屏幕往右移了50像素,可是当我把这段程序
放到TTimer的Ontimer事件后由于程序第二遍拷下来的像素已是经过移动
后的图象了,这就不是我的本意了,所以请问,如何保存最初的图象?
[blue]最好有原码[/blue]
我希望的效果是:[blue]桌面一屏一屏地往右移,就象电视里经常出现的那种现象[/blue]
其实不太好意思张口就要原码,但因为任务太急了,还有劳各位帮忙则个
[?]
代码:
procedure TForm1.Button1Click(Sender: TObject);
var
hDesktop,hDesktopDC: THandle;
FCanvas: TCanvas;
begin
FCanvas := TCanvas.Create;
hDeskTop := FindWindow('Progman', nil);
try
// hDesktopDC := GetDC(0);
// FCanvas.Handle := hDesktopDC;
Bitblt(FCanvas.Handle,50,0,Screen.Width+50,Screen.Height,GetDC(0),0,0,SRCCOPY);
finally
// ReleaseDC(hDesktop, hDesktopDC);
FCanvas.Free;
end;
end;
放到TTimer的Ontimer事件后由于程序第二遍拷下来的像素已是经过移动
后的图象了,这就不是我的本意了,所以请问,如何保存最初的图象?
[blue]最好有原码[/blue]
我希望的效果是:[blue]桌面一屏一屏地往右移,就象电视里经常出现的那种现象[/blue]
其实不太好意思张口就要原码,但因为任务太急了,还有劳各位帮忙则个
[?]