关闭

在delphi中将form保存为图像,包含滚动条隐藏的部分

700人阅读 评论(0) 收藏 举报

根据TCustomForm.GetFormImage修改得来:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  ABitmap: TBitmap;
  i: Integer;
begin
  ABitmap := TBitmap.Create;
  if Self.HorzScrollBar.Visible then    
    ABitmap.Width := Self.HorzScrollBar.Range
  else
    ABitmap.Width := Self.ClientWidth;
  if Self.VertScrollBar.Visible then
    ABitmap.Height := Self.VertScrollBar.Range
  else
    ABitmap.Height := Self.ClientHeight;
  ABitmap.Canvas.Brush := Self.Canvas.Brush;
  ABitmap.Canvas.FillRect(ABitmap.Canvas.ClipRect);
  Self.Perform(WM_PAINT, ABitmap.Canvas.Handle, 0);
  for i := 0 to Self.ControlCount - 1 do
  begin
    with TControl(Self.Controls[i]) do
      if (Self.Controls[i] is TWinControl) and Visible then
        TWinControl(Self.Controls[i]).PaintTo(ABitmap.Canvas, Left, Top);
  end;
  ABitmap.SaveToFile('c:/1.bmp');
  FreeAndNil(ABitmap);
end;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2716次
    • 积分:71
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档