📄 setformstyle.pas
字号:
unit SetFormStyle;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BaseForm, KsHooks, KsForms, KsSkinForms, KsControls, KsButtons,
KsSkinButtons, KsCheckBoxs, KsSkinCheckBoxs, KsGroupBoxs, KsSkinGroupBoxs
, SysPublic, ExtCtrls, KsLabels, KsSkinLabels, KsListBoxs, KsSkinListBoxs,
jpeg, KsTrackBars, KsSkinTrackBars, dxTL, dxCntner, StdCtrls, dxExEdtr,
KsSpinButtons, KsSkinSpinButtons, KsEdits, KsSkinEdits, dxEditor,
dxEdLib, dxDBELib;
type
TfrmSetFormStyle = class(TfrmBaseForm)
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
SeSkinGroupBox1: TSeSkinGroupBox;
srbSetWeb: TSeSkinRadioButton;
srbBmp: TSeSkinRadioButton;
SeSkinGroupBox2: TSeSkinGroupBox;
srbEditFlat: TSeSkinRadioButton;
srbEdit3d: TSeSkinRadioButton;
srbEditWeb: TSeSkinRadioButton;
ColorDialog1: TColorDialog;
pnlColor: TPanel;
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;
Label1: TLabel;
bbDefault: TSeSkinButton;
TrackBar: TSeSkinTrackBar;
SeSkinLabel3: TSeSkinLabel;
edtPic: TdxButtonEdit;
OpenDlg: TOpenDialog;
SeSkinGroupBox4: TSeSkinGroupBox;
cbxFullGrid: TSeSkinCheckBox;
cbxQFullGrid: TSeSkinCheckBox;
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 + -