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

原创 2006年05月31日 17:43:00

根据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;

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ffmpeg中将每帧视频图像保存为图片的方法

ffmpeg初识

【转】ExtJS中的grid没有滚动条问题(grid作为form的一个item)

两种解决方法: 1、grid有自己的scrollBar 思路:首先设置grid的width为grid.getColumnModel().getTotalWidth(false),然后对包含grid...

HTML基础 form-textarea创建带有水平垂直滚动条的多行文本框并设置其大小

镇场诗:慈心积善融学习,技术誓为大家学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 ———————————————————————————————————————————————...

delphi去除webbrowser滚动条的正确方法(流传的都不对)

今天乱翻论坛,回答了一个网友的问题。 http://topic.csdn.net/u/20101006/08/a372ebf1-838e-4653-a7f7-517fac560f47.html?se...
  • t1122
  • t1122
  • 2012-04-11 11:29
  • 1348

Jquery判断滚动条到底部分页加载数据

var size = 5; var startNum = 5; var end = false; function getGoodsList(){ $.post('/goods/goodsComme...

opencv 图像叠加滚动条

opencv 图像叠加滚动条
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)