首页 > 其他分享 >CxGrid的终极风格设置

CxGrid的终极风格设置

时间:2024-03-19 17:01:08浏览次数:25  
标签:ComboBox Delphi CxGrid 皮肤 设置 终极 CurrentStyle

凡是使用Delphi的程序员,我敢说99%使用过CxGrid。众所周知,CxGrid的套件有自己的皮肤风格管理体系,你如果用其它第三方的皮肤控件来美化你的程序,一旦进入到CxGrid则头疼不已。哪怕你专门为某一种皮肤设计了适合CxGrid的Style,一旦换肤,前功尽弃。总不能控件有100种皮肤,你设计100种CxGrid的style吧?

随着Delphi的升级(例如Delphi 11版),Delphi能支持到高分辨率的显示器,同时提供了大量的官方自带皮肤。这样使得Delphi开发出来的程序界面越来越好看。而CxGrid的一个参数,能完美兼容到了Delphi官方皮肤,这简直不要太爽,哈哈哈哈哈哈哈哈哈!
看到这篇文章的朋友,也许不知道怎么设置官方皮肤,这里以Delphi 11 为例,介绍官方皮肤的设置,及CxGrid兼容官方皮肤的参数设置。

请按图操作:在这里插入图片描述
打开Options设置菜单:
在这里插入图片描述
保存后,运行看看,是不是程序漂亮了?
再拉一个ComboBox放到你喜欢的地方,咱们通过这个ComboBox来设置风格。

写一段OnChange事件的代码:

procedure TForm_Main.ComboBox_StyleChange(Sender: TObject);
begin
  TStyleManager.SetStyle(ComboBox_Style.Text);
end;

当然,还有窗口OnCreate事件:

procedure TForm_Main.FormCreate(Sender: TObject);
var
  CurrentStyle, StyleName  : string;
  i : integer;
begin
  ComboBox_Style.Items.Clear;
  for StyleName in TStyleManager.StyleNames do
    ComboBox_Style.Items.Add(StyleName);
  CurrentStyle := ReadReg;
  if CurrentStyle = '' then
    CurrentStyle:='silver';
  TStyleManager.SetStyle(CurrentStyle);
  ComboBox_Style.Text := CurrentStyle;

end;

上面ReadReg是自己写的一个函数,功能是读取注册表保存的皮肤名,这里就省略了,大家知道怎么在窗口建立之初将系统勾选的风格添加到ComboBox里面即可。

最后给出CxGrid的终极风格设置答案:

在这里插入图片描述
看图就能知道怎么设了,我什么都不说了,设置完了,再看看吧。把你原来设置的那些style都去了吧。嘿嘿
如果有多个CxGrid,可以一次性用代码设置:

  if Self.Components[i] is TcxGrid then
    begin
      (Self.Components[i] as TcxGrid).BorderStyle :=  cxcbsNone;  //设置无边框
      (Self.Components[i] as TcxGrid).LookAndFeel.NativeStyle := False;
      (Self.Components[i] as TcxGrid).LookAndFeel.SkinName := 'UserSkin';
    end;

案例中,Delphi版本号为:11;
CxGrid版本号为:DevExpress VCL 20.2.6
下载地址:https://download.csdn.net/download/qq_20041779/88760830

提示:欢迎转发,请注明出处。谢谢

标签:ComboBox,Delphi,CxGrid,皮肤,设置,终极,CurrentStyle
From: https://blog.csdn.net/qq_20041779/article/details/136846454

相关文章

  • elementui 表格复选框根据列表状态设置禁用效果
    el-table表格type="selection"复选框需要根据状态来设置是否禁用,需要加selectable属性返回为false时则为禁用注意selectable要是一个方法不能设置变量checkSelectable(row){if(row.status==="0"){returntrue;}else{......
  • Antd ProTable 设置表格头,可拖动变换列宽度
    ProTable表格本身是不支持,列宽度可拖动的。1、按照一个插件( react-resizable)npm install --save react-resizable2、新建一个工具类ResizableTableUtil.jsimportReactfrom'react';import{Resizable}from'react-resizable';constResizableTitle=(props)=>......
  • a标签下载文件设置download无效
    场景:通过接口获取文件信息,再动态生成a标签,添加href、download,点击文件下载后,文件名并不是设置的download问题:接口返回数据的文件url域名跟当前系统域名不一致,导致download失效解决方案:采用原生请求设置responseType来实现指定download下载<div@click="download">点击下载</div......
  • pnpm 设置代理
    1.在环境变量里添加变量:HTTP_PROXY:http://127.0.0.1:7890HTTPS_PROXY:https://127.0.0.1:7890也可以通过命令来取消或设置环境变量里的代理:一般只设置proxy,而不用设只https_proxy的代理就够用了。关闭代理pnpmconfigsetproxypnpmconfigsethttps-proxy......
  • 【转载】布隆过滤器参数设置
    原文地址:布隆过滤器设置合适指标_布隆过滤器100万数据需要多少m-CSDN博客 布隆过滤器用于快速检测不存在数据,主要用位数组的结构来存储。其中为了保证布隆过滤器有适当的正确率通常会设置几个参数。设:k=hash函数个数,用于将一个数据通过不同hash函数计算为不同值,如“test”......
  • 读取设置密码保护的excel文件,有没有更好的办法?
    大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【wen】问了一个Python处理Excel加密文件读取问题。问题如下:请教:读取设置了密码保护的exlce文件,df=pd.read_excel(file,password='12345678') 报错:gotanunexpectedkeywordargument"password"  目前的解......
  • Eclipse中xml格式化设置
    1.问题Eclipse中xml文件格式化后,整个一团糟,并不是我们想要的,我们需要自行修改其格式化参数2.解决2.1找到Windows>Preference>XML>XMLFiles>Editor2.2具体参数Linewidth:设置每行宽度Linewidth设定为80到100个字符。Splitmultipleattributeseachonanewli......
  • labelImg macos 运行环境设置
    labelImgmacos运行环境设置MacOSbrew安装文档安装CLTforXcode,检查git/bash/curl存在xcode-select--installxcode-select:note:Commandlinetoolsarealreadyinstalled.Use"SoftwareUpdate"inSystemSettingsorthesoftwareupdatecommandlineinterf......
  • 解决安装Redis之后设置密码,报(error) ERR Client sent AUTH, but no password is set
    在安装完成Redis后,需要登录auth账户,验证是否安装成功。在redis目录下redis.conf文件找到requirepass,追加一行,输入requirepass123456,即为登录密码,重启redis服务再登录即可。但是并没有成功,后来发现是需要在命令行再次设置密码才行解决步骤如下:1、启动redis服务2、cmd命令行切......
  • Azure REST API (5) Azure创建Service Principal设置Client Secret过期时间100年
    《WindowsAzurePlatform系列文章目录》 我们在使用AzureServicePrinciple,通过应用程序开发API方式部署或修改Azure资源的时候,默认的ClientSecret过期时间为2年。很多客户希望ClientSecret过期时间大于2年。我们可以通过使用应用管理策略(AppManagem......