首页 > 其他分享 >delphi cxgrid截图

delphi cxgrid截图

时间:2023-05-20 22:33:21浏览次数:42  
标签:截图 gridView end delphi cxgrid focusedRect cxPaintCanvas focusedItem aBitmap

效果图:

 点击GetImage,会在程序目录下生成一个表格截图的图片文件,打开后如下图:

以下是代码:

procedure TForm4.SpeedButton1Click(Sender: TObject);
var
  gridView: TcxGridDBTableView;
  focusedItem: TcxCustomGridTableItem;
  focusedRect: TRect;
  aBitmap: TBitmap;
begin
  gridView := cxGrid1DBTableView1;

  focusedItem := gridView.Controller.focusedItem;
  focusedRect := gridView.ViewInfo.Bounds;

  aBitmap := TBitmap.Create;
  try
    ABitmap.Width := focusedRect.Width;
    ABitmap.Height := focusedRect.Height;

    cxPaintCanvas.BeginPaint(aBitmap.Canvas);
    try
      cxPaintControlTo(gridView.Site, cxPaintCanvas, Point(0, 0), focusedRect, True, False);
    finally
      cxPaintCanvas.EndPaint;
    end;
    aBitmap.SaveToFile('test.png');
  finally
    ABitmap.Free;
  end;

end;

你也可以直接把截图放到剪贴板中而不是生成图片文件:

uses Clipbrd;

procedure TForm4.SpeedButton1Click(Sender: TObject);
var
  gridView: TcxGridDBTableView;
  focusedItem: TcxCustomGridTableItem;
  focusedRect: TRect;
  aBitmap: TBitmap;
begin
  gridView := cxGrid1DBTableView1;
  focusedItem := gridView.Controller.focusedItem;
  focusedRect := gridView.ViewInfo.Bounds;
  aBitmap := TBitmap.Create;
  try
    ABitmap.Width := focusedRect.Width;
    ABitmap.Height := focusedRect.Height;
    cxPaintCanvas.BeginPaint(aBitmap.Canvas);
    try
      cxPaintControlTo(gridView.Site, cxPaintCanvas, Point(0, 0), focusedRect, True, False);
    finally
      cxPaintCanvas.EndPaint;
    end;
    Clipboard.Assign(aBitmap);
  finally
    ABitmap.Free;
  end;
end;

 

标签:截图,gridView,end,delphi,cxgrid,focusedRect,cxPaintCanvas,focusedItem,aBitmap
From: https://www.cnblogs.com/yoooos/p/17417929.html

相关文章

  • python 检测屏幕指定区域 有变化即截图
    fromPILimportImageChops#$pipinstallpillowfrompyscreenshotimportgrab#$pipinstallpyscreenshotfromdatetimeimportdatetimeimporttime,sys,reim=grab(bbox=(160,180,1760,1080))a=0whileTrue:#http://effbot.org/zone/pil-comparing-imag......
  • CxGrid合计相关
    1.OnSummaryAfterSummary事件,CxGrid合计计算后触发此事件可以在事件里获取其值,做相关处理//实售价if(cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[0]<>null)thenbegin//ThisTimeAccount.Caption:=FloatToStr(cxGridDBTableView1.DataContro......
  • DCC32命令行方式编译delphi工程源码
    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879作者:苏生米沿 一、首先找到这个可执行文件,熟悉delphi的人应该很容易就找到,打开你安装delphi的目录,如我的路径C:\ProgramFiles\Delphi_2007\bin\DCC32.EXE二、拷贝一份出来,我将其放在了我的测试目录下......
  • 报表控件FastReport VCL v2023.2 - 将Delphi 产品整合到单一系统
    FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表工具。FastReportVC......
  • Delphi GUI程序与FireMonkey教程
    首先,必须向原作者及译者表示最深的感谢,下面是下载地址:https://bbs.2ccc.com/attachments/2023/changfenglee_2023517104121.rar通过这本书,做为Delphi新老开发者,都能利用Delphi开发出跨平台的应用,笔者强列推荐! ......
  • delphi实现modbus通信
    -------------------------------------------------------------基础单元----start-----------------------------------------------------------------------------{********************************************************************}{*单元名称:UntM......
  • OneDelphi界面美化
    使用OneDelphi已经有一段时间了,中间件的功能很强大,主要特点:●oneDelphi由OneServer中间件,OneClient控件包组成,自由免费,全源码...●oneDelphi是一个MVC+传统DATASET双架构中间件...●oneFastClient是一个快速开发传统EXE的开发包。OneDelphi的官方QQ群:814696487主界面:优化UI......
  • delphi 写的图片合成工具---品一套图大师 v1.1.0
    在石材行业,套效果图是一个非常重要而经常要面临的工作,如果自身不懂得PS,那就需要经常去麻烦别人,而且客户可能没有办法一直在等你的效果图...基于以上的种种原因,所以就开发了这个工具,只需把图片拉到这工具,点点这个点点那,不到1分钟就可以做出漂亮的效果图~ 软件主界面: 需要套......
  • c++ gdiplus实现屏幕截图
    #include<windows.h>#include<gdiplus.h>#include<iostream>#include<filesystem>#include<chrono>#include<iomanip>#include<sstream>#pragmacomment(lib,"Gdiplus.lib")usingnamespaceGdiplus;U......
  • delphi Format格式化函数
    delphiFormat格式化函数Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明:functionFormat(constFormat:string;constArgs:arrayofconst):string;overload; 事实上Format方法有......