在屏幕拷屏程序中 可以将桌面画布的内容保存到Tbitmap对像里
但是反过来 怎么做

解决方案 »

  1.   

    把TBitmap对象保存成文件,然后设置桌面背景
      

  2.   

    因为偶马上就回家了,没时间给代码啦,所以只好请楼主到这里看看一个例子:
    http://zpeihe.2ccc.com/article.asp?articleid=1143
      

  3.   

    不好意思楼主,发现这个例子有点问题。设置后不能立即显示新的桌面背景。
    要设置后立即显示的话要这样:
    SystemParametersInfo(SPI_SETDESKWALLPAPER, 0,pchar('c:\1.bmp'{文件路径}),SPIF_UPDATEINIFILE or SPIF_SENDWININICHANGE);
    win2000下测试通过……
      

  4.   

    不是设为桌面 背景呀 只是把一些 局部图像显示在局部 GETDC(0)的桌面
      

  5.   

    VAR
      AA:Tbitmap;
      bb:tcanvas;
    BEGIN
       dc:=getdc(0);
       bb:=tcanvas.Create;
       aa:=tbitmap.Create;
       bb.Handle:=dc;
       //这个时候假设aa中有位图 把他显示在桌面上 其实就是把AA对像的值赋值给BB 但不知道是哪个属性
    END;
      

  6.   

    begin
      with TCanvas.Create do try
        Handle := GetDC(0);
        Draw(0, 0, Image1.Picture.Graphic);
        DeleteDC(Handle);
      finally
        Free;
      end;
    end;