实现FlashGet一样的背景贴图,不能有花屏或者闪烁感。
论坛里搜不到一个可以解决实际问题的帖子,还是要麻烦高手指教了,有完整代码最好,谢谢

解决方案 »

  1.   

    想要源码发信问询:[email protected]
      

  2.   

    看来CSDN真的是垃圾厂了,在论坛里搜遍了帖子,都是有人提问没人回答,或者回答的不着边际。
      

  3.   

    不知道这个能不能满足楼主,还有,讲话不要那么嚣张procedure TForm1.TreeView1CustomDraw(Sender: TCustomTreeView;
      const ARect: TRect; var DefaultDraw: Boolean);
    var
      btop, bLeft: Integer;
      rect: Trect;
      x, y, h: integer;
    begin  x := GetScrollPos(sender.Handle, SB_HORZ);
      y := GetScrollPos(sender.Handle, SB_VERT);
      h := 17;
      rect := sender.ClientRect;
      rect.Bottom := rect.Top + sender.Height;
      btop := rect.Bottom - Image1.Picture.Bitmap.Height - y * h;
      bleft := rect.Right - Image1.Picture.Bitmap.Width - x;
      sender.Canvas.FillRect(Arect);  rect := Types.rect(bleft - 1, btop - 1, bleft + Image1.Picture.Bitmap.Width + 1, bTop + Image1.Picture.Bitmap.Height + 1);
      if IntersectRect(rect, rect, arect) then
        BitBlt(sender.Canvas.Handle, Arect.Left, Arect.Top, Arect.Right - Arect.Left ,
          Arect.Bottom - Arect.top , Image1.Picture.Bitmap.Canvas.Handle, Arect.Left - bleft, Arect.Top - btop, SRCCOPY);  DefaultDraw := true;
    end;
      

  4.   

    忘了说了,TREEVIEW的容器reaize事件中
    procedure TForm1.Panel2Resize(Sender: TObject);
    begin
      treeview1.Invalidate;
    end;
      

  5.   

    编译不能通过啊哥们,Types干吗的?
      

  6.   

    引用Types
    你不要下移的话,反正你要是发现做什么操作会引起花屏或位置问题的,就用这句  treeview1.Invalidate;,要是认为麻烦,就自己重封装TreeView
    procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    begin
      treeview1.Invalidate;
    end;procedure TForm1.TreeView1Collapsing(Sender: TObject; Node: TTreeNode;
      var AllowCollapse: Boolean);
    begin
      treeview1.Invalidate;
    end;