首页 > 其他分享 >delphi cxgrid 自定义画焦点框

delphi cxgrid 自定义画焦点框

时间:2024-05-19 09:08:04浏览次数:32  
标签:ACanvas AViewInfo end 自定义 delphi cxgrid bounds RootLookAndFeel Painter

procedure TMyTable.MyBandedTableViewCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);  
var  
  bounds: TRect;  
begin  

  if AViewInfo.Focused then  
  begin  
    bounds:= AViewInfo.Bounds;  
    Dec(bounds.Right, 1);  
    Dec(bounds.Bottom,1);  
    ACanvas.DrawComplexFrame(bounds, clBlack, clBlack, cxBordersAll, 2);  
    aDone := True;  
  end;  

  //删除选中背景颜色,一般可以通过设置去掉.不用也行
  if AViewInfo.Selected then  
  begin  
    if Odd(AViewInfo.GridRecord.RecordIndex) then  
      ACanvas.FillRect(AViewInfo.Bounds, RootLookAndFeel.Painter.DefaultContentOddColor )  
    else  
      ACanvas.FillRect(AViewInfo.Bounds, RootLookAndFeel.Painter.DefaultContentEvenColor );  
    ACanvas.Font.Color := RootLookAndFeel.Painter.DefaultContentTextColor ;  
  end;  

end;

 

标签:ACanvas,AViewInfo,end,自定义,delphi,cxgrid,bounds,RootLookAndFeel,Painter
From: https://www.cnblogs.com/BTag/p/18200045

相关文章

  • delphi安卓动态权限申请
    delphi安卓动态权限申请安卓8及以上版本,除了原来的静态权限申请以外,还需要动态权限申请。delphi10.3开始支持安卓动态权限申请。delphi11开始官方改变了安卓动态权限申请的参数类型,导致原来编写的代码,编码报错。下面的代码,可以很好地解决权限问题。兼顾了delphi10.3和delphi11......
  • 基于uniapp+vue3自定义增强版table表格组件「兼容H5+小程序+App端」
    vue3+uniapp多端自定义table组件|uniapp加强版综合表格组件uv3-table:一款基于uniapp+vue3跨端自定义手机端增强版表格组件。支持固定表头/列、边框、斑马纹、单选/多选,自定义表头/表体插槽、左右固定列阴影高亮显示。支持编译兼容H5+小程序端+App端。如下图:H5+小程序+App端,多端......
  • 【Delphi 开箱即用 1】简单实现拖拽文件到窗口
    当今,大多数个人小程序都普遍具备拖拽功能,因为拖拽操作极其便捷。毕竟,相比于传统的浏览文件夹方式打开目标文件,拖拽操作简直是一种解放。在这里,我们无需依赖任何第三方控件,单纯通过代码实现拖拽功能。目录1.最终效果图2.部分核心代码3.完整Demo源码下载1.最终效果图2.部分......
  • Django自定义模板标签与过滤器
    title:Django自定义模板标签与过滤器date:2024/5/1718:00:02updated:2024/5/1718:00:02categories:后端开发tags:Django模版自定义标签过滤器开发模板语法Python后端前端集成Web组件Django模板系统基础1.Django模板语言概述Django模板语言(DTL)是一种用......
  • spring security 使用过滤器认证登录时,抛出自定义异常
    前情提要最近在做项目的改造,涉及到新增用户的离职冻结状态,当被离职/冻结后,尝试登录系统,则抛出不同的异常代码给前端,前端依据不同的异常代码提示不同的文本。所以需要对项目的认证逻辑简单调整,增加按照不同的登录用户的状态(离职/冻结)判断,如果满足指定状态,则抛出对应的异常代码。......
  • KubeKey v3.1 发布:快速自定义离线安装包
    日前,KubeKeyv3.1正式发布。该版本主要对离线场景部署、离线包制作以及向Kubernetesv1.24+升级进行了优化。KubeKey简介KubeKey是KubeSphere社区开源的一款高效集群部署工具,运行时默认使用Docker,也可对接Containerd、CRI-O、iSula等CRI运行时,且ETCD集群独立运行......
  • 自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
    自定义数据类型、标量值、内嵌表值、多语句表值函数的操作自定义数据类型、标量值、内嵌表值、多语句表值函数的操作  合集-数据库知识(7) 1.SQLServer实战一:创建、分离、附加、删除、备份数据库04-242.SQLServer实战二:创建、修改、复制、删除数据库表并加以数据......
  • 使用joinjs绘制流程图(十)-实战-绘制流程图+自定义节点样式(优化)
    问题前面自定义节点的样式坐标位置不对,我们希望自定义节点的坐标和rect元素的位置是一样的效果图代码<template><divclass="app"><divref="myholder"id="paper"></div></div></template><script>import*asjointfrom&......
  • Django 自定义管理命令:从入门到高级
    title:Django自定义管理命令:从入门到高级date:2024/5/1618:34:29updated:2024/5/1618:34:29categories:后端开发tags:Django自定义命令入门教程高级技巧命令创建命令使用自定义管理第1章简介1.1 Django管理命令简介Django是一个流行的Python......
  • delphi 文件的操作:重命名、复制、移动、删除 文件(转)
    delphi文件的操作重命名、复制、移动、删除文件RenameFile('Oldname','Newname');CopyFile(PChar('Oldname'),PChar('Newname'),False);MoveFile(PChar('Oldname'),PChar('Newname'));DeleteFile(文件名);Delphi判断文件......