📄 setformstyle.pas
字号:
unit SetFormStyle;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseForm, KsSkinForms, KsSkinButtons, KsSkinCheckBoxs,
KsSkinGroupBoxs, SysPublic, ExtCtrls, KsSkinLabels, KsSkinListBoxs,
jpeg, KsSkinTrackBars, dxTL, dxCntner, StdCtrls, dxExEdtr,
KsSkinSpinButtons, KsSkinEdits, dxEditor,
dxEdLib, dxDBELib, se_controls, KsSkinPanels;
type
TfrmSetFormStyle = class(TfrmBaseForm)
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
SeSkinGroupBox1: TSeSkinGroupBox;
srbSetWeb: TSeSkinRadioButton;
srbBmp: TSeSkinRadioButton;
SeSkinGroupBox2: TSeSkinGroupBox;
srbEditFlat: TSeSkinRadioButton;
srbEdit3d: TSeSkinRadioButton;
srbEditWeb: TSeSkinRadioButton;
ColorDialog1: TColorDialog;
sbSetColor: TSeSkinButton;
lbxList1: TSeSkinListBox;
SeSkinLabel1: TSeSkinLabel;
lbxList2: TSeSkinListBox;
SeSkinButton1: TSeSkinButton;
SeSkinGroupBox3: TSeSkinGroupBox;
rb2: TSeSkinRadioButton;
rb3: TSeSkinRadioButton;
rb1: TSeSkinRadioButton;
bbGridTop: TSeSkinButton;
MainTree: TdxTreeList;
dxTreeList1Column1: TdxTreeListColumn;
dxTreeList1Column2: TdxTreeListColumn;
SeSkinLabel2: TSeSkinLabel;
bbGridColor: TSeSkinButton;
bbDefault: TSeSkinButton;
TrackBar: TSeSkinTrackBar;
SeSkinLabel3: TSeSkinLabel;
edtPic: TdxButtonEdit;
OpenDlg: TOpenDialog;
SeSkinGroupBox4: TSeSkinGroupBox;
cbxFullGrid: TSeSkinCheckBox;
cbxQFullGrid: TSeSkinCheckBox;
Label1: TSeSkinLabel;
pnlColor: TSeSkinPanel;
procedure bbOkClick(Sender: TObject);
procedure bbNoClick(Sender: TObject);
procedure SeSkinButton1Click(Sender: TObject);
procedure bbGridColorClick(Sender: TObject);
procedure rb1Click(Sender: TObject);
procedure rb2Click(Sender: TObject);
procedure rb3Click(Sender: TObject);
procedure bbDefaultClick(Sender: TObject);
procedure bbGridTopClick(Sender: TObject);
procedure sbSetColorClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TrackBarChange(Sender: TObject);
procedure edtPicButtonClick(Sender: TObject; AbsoluteIndex: Integer);
private
bReturn: Boolean;
lDeltaHue: Integer;
sPubDesk: string;
lSkinIndex: Integer;
procedure MainShow;
procedure LoadData;
{ Private declarations }
public
{ Public declarations }
end;
function SetFormStyleShow(var sDesk: string): Boolean;
implementation
uses DBData, MainWindow;
{$R *.dfm}
function SetFormStyleShow(var sDesk: string): Boolean;
var
frmSetFormStyle: TfrmSetFormStyle;
begin
frmSetFormStyle := TfrmSetFormStyle.Create(Application);
with frmSetFormStyle do
begin
sPubDesk := sDesk;
MainShow;
sDesk := sPubDesk;
Result := bReturn;
Free;
end;
end;
procedure TfrmSetFormStyle.MainShow;
begin
LoadData;
ShowModal;
end;
procedure TfrmSetFormStyle.LoadData;
var
sStyle, sColor, sIndex: string;
Color: TColor;
begin
bReturn := false;
lbxList1.ItemIndex := 0;
if sPubDesk = 'WWW' then
srbSetWeb.Checked := True
else
srbBmp.Checked := True;
//常用控件
sStyle := Trim(GetIniValue(frmData.ADOConnetLogin, 'ControlStyle'));
if sStyle = IntToStr(STYLE_FLAT) then
srbEditFlat.Checked := True
else
if sStyle = IntToStr(STYLE_3D) then
srbEdit3d.Checked := True
else
srbEditWeb.Checked := True;
sColor := Trim(GetIniValue(frmData.ADOConnetLogin, 'ControlColor'));
if sColor <> '' then
Color := StringToColor(sColor)
else
Color := clTeal;
pnlColor.Color := Color;
//界面方案
lDeltaHue := frmData.SeSkinEngine.DeltaHue;
sIndex := GetIniValue(frmData.ADOConnetLogin, 'SkinFileIndex');
if sIndex <> '' then lbxList1.ItemIndex := StrToInt2(sIndex);
lSkinIndex := StrToInt2(sIndex);
sIndex := GetIniValue(frmData.ADOConnetLogin, 'SkinDeltaHue');
if sIndex <> '' then TrackBar.Position := StrToInt2(sIndex);
MainTree.LookAndFeel := StringToLookAndFeel(GetIniValue(frmData.ADOConnetLogin,
'GridLookAndFeel'));
if MainTree.LookAndFeel = lfUltraFlat then
rb2.Checked := True
else
if MainTree.LookAndFeel = lfStandard then
rb3.Checked := True
else
rb1.Checked := True;
//设置表格样式
sColor := GetIniValue(frmData.ADOConnetLogin, 'GridBandColor');
if sColor <> '' then MainTree.BandColor := StringToColor(sColor);
sColor := GetIniValue(frmData.ADOConnetLogin, 'GridHeaderColor');
if sColor <> '' then MainTree.HeaderColor := StringToColor(sColor);
sColor := GetIniValue(frmData.ADOConnetLogin, 'GridColor');
if sColor <> '' then MainTree.Color := StringToColor(sColor);
//画满表格
cbxFullGrid.Checked := StrToBool2(GetIniValue(frmData.ADOConnetLogin, 'DrawFullGrid'));
cbxQFullGrid.Checked := StrToBool2(GetIniValue(frmData.ADOConnetLogin, 'QDrawFullGrid'));
//图片文件
edtPic.Text := GetIniValue(frmData.ADOConnetLogin, 'DesktopPic'); //先读图片
end;
procedure TfrmSetFormStyle.bbOkClick(Sender: TObject);
var
lStyle: Integer;
sSkinFile: string;
begin
inherited;
if srbSetWeb.Checked then
sPubDesk := 'WWW'
else
sPubDesk := 'PIC';
if srbEditFlat.Checked then
lStyle := STYLE_FLAT
else
if srbEdit3d.Checked then
lStyle := STYLE_3D
else
lStyle := STYLE_WEB;
SetIniValue(frmData.ADOConnetLogin, 'Desktop', sPubDesk);
//保存控件样式
SetIniValue(frmData.ADOConnetLogin, 'ControlStyle', IntToStr(lStyle));
SetIniValue(frmData.ADOConnetLogin, 'ControlColor', ColorToString(pnlColor.Color));
//保存界面风格
lSkinIndex := lbxList1.ItemIndex;
lDeltaHue := frmData.SeSkinEngine.DeltaHue;
sSkinFile := lbxList2.Items.Strings[lbxList1.ItemIndex];
SetIniValue(frmData.ADOConnetLogin, 'SkinFile', sSkinFile);
SetIniValue(frmData.ADOConnetLogin, 'SkinFileIndex', IntToStr(lSkinIndex));
SetIniValue(frmData.ADOConnetLogin, 'SkinDeltaHue', IntToStr(lDeltaHue));
SetSkinEngineFile(sSkinFile);
//保存表格样式
SetIniValue(frmData.ADOConnetLogin, 'GridLookAndFeel', LookAndFeelToString(MainTree.LookAndFeel));
SetIniValue(frmData.ADOConnetLogin, 'GridBandColor', ColorToString(MainTree.BandColor));
SetIniValue(frmData.ADOConnetLogin, 'GridHeaderColor', ColorToString(MainTree.HeaderColor));
SetIniValue(frmData.ADOConnetLogin, 'GridColor', ColorToString(MainTree.Color));
//设置满表格显示
SetIniValue(frmData.ADOConnetLogin, 'DrawFullGrid', BoolToStr(cbxFullGrid.Checked));
SetIniValue(frmData.ADOConnetLogin, 'QDrawFullGrid', BoolToStr(cbxQFullGrid.Checked));
GridREC.LookAndFeel := MainTree.LookAndFeel;
GridREC.BandColor := MainTree.BandColor;
GridREC.HeaderColor := MainTree.HeaderColor;
GridREC.Color := MainTree.Color;
//保存图片路径
SetIniValue(frmData.ADOConnetLogin, 'DesktopPic', edtPic.Text);
bReturn := True;
Close;
end;
procedure TfrmSetFormStyle.bbNoClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmSetFormStyle.SeSkinButton1Click(Sender: TObject);
begin
inherited;
LockWindowUpdate(frmMainWindow.Handle);
LockWindowUpdate(HANDLE);
frmData.SeSkinEngine.DeltaHue := 0;
SetSkinEngineFile(lbxList2.Items.Strings[lbxList1.ItemIndex]);
frmData.SeSkinEngine.DeltaHue := TrackBar.Position;
LockWindowUpdate(0);
end;
procedure TfrmSetFormStyle.bbGridColorClick(Sender: TObject);
begin
inherited;
if ColorDialog1.Execute then
MainTree.Color := ColorDialog1.Color;
end;
procedure TfrmSetFormStyle.rb1Click(Sender: TObject);
begin
inherited;
if rb1.Checked then
MainTree.LookAndFeel := lfFlat;
end;
procedure TfrmSetFormStyle.rb2Click(Sender: TObject);
begin
inherited;
if rb2.Checked then
MainTree.LookAndFeel := lfUltraFlat;
end;
procedure TfrmSetFormStyle.rb3Click(Sender: TObject);
begin
inherited;
if rb3.Checked then
MainTree.LookAndFeel := lfStandard;
end;
procedure TfrmSetFormStyle.bbDefaultClick(Sender: TObject);
begin
inherited;
srbSetWeb.Checked := True;
srbEditWeb.Checked := True;
rb1.Checked := True;
rb1Click(nil);
pnlColor.Color := clTeal;
MainTree.BandColor := $00D3D2BA;
MainTree.HeaderColor := $00D3D2BA;
MainTree.Color := clWhite;
lbxList1.ItemIndex := 1;
TrackBar.Position := 0;
SetSkinEngineFile(lbxList2.Items.Strings[lbxList1.ItemIndex]);
frmData.SeSkinEngine.DeltaHue := 0;
end;
procedure TfrmSetFormStyle.bbGridTopClick(Sender: TObject);
begin
inherited;
if ColorDialog1.Execute then
begin
MainTree.BandColor := ColorDialog1.Color;
MainTree.HeaderColor := ColorDialog1.Color;
end;
end;
procedure TfrmSetFormStyle.sbSetColorClick(Sender: TObject);
begin
inherited;
if ColorDialog1.Execute then
pnlColor.Color := ColorDialog1.Color;
end;
procedure TfrmSetFormStyle.FormDestroy(Sender: TObject);
begin
inherited;
LockWindowUpdate(frmMainWindow.Handle);
LockWindowUpdate(HANDLE);
ControlInitialize;
LockWindowUpdate(0);
end;
procedure TfrmSetFormStyle.TrackBarChange(Sender: TObject);
begin
inherited;
LockWindowUpdate(frmMainWindow.Handle);
LockWindowUpdate(HANDLE);
frmData.SeSkinEngine.DeltaHue := TrackBar.Position;
LockWindowUpdate(0);
end;
procedure TfrmSetFormStyle.edtPicButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var
sFileName: string;
begin
inherited;
OpenDlg.FileName := edtPic.Text;
if OpenDlg.Execute then
begin
sFileName := OpenDlg.FileName;
edtPic.Text := sFileName;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -