凡是使用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
提示:欢迎转发,请注明出处。谢谢