📄 u_setoptions.pas
字号:
unit U_SetOptions;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, HGrids, HDBGrids, Db, DBTables, Menus,
Buttons, PgNavigator;
type
TFm_SetOptions = class(TForm)
PgCtrl_Options: TPageControl;
Panel1: TPanel;
Btn_Ok: TButton;
Btn_Cancel: TButton;
Btn_Help: TButton;
TS_GShi01: TTabSheet;
Lbl_BGXYse: TLabel;
Page_BGXYSe: TPrevPage;
BitBtn_BGXYSe: TBitBtn;
ColorDlg: TColorDialog;
Lbl_GDLYSe: TLabel;
Page_GDLYSe: TPrevPage;
BitBtn_GDLYSe: TBitBtn;
Lbl_DQHYSe: TLabel;
Page_DQHYSe: TPrevPage;
BitBtn_DQHYSe: TBitBtn;
ChkBox_GLXShi: TCheckBox;
Lbl_DQHZti: TLabel;
Page_DQHZTi: TPrevPage;
BitBtn_DQHZTi: TBitBtn;
Lbl_BGDSe: TLabel;
Page_BGDSe: TPrevPage;
BitBtn_BGDSe: TBitBtn;
Lbl_BGZTYSe: TLabel;
Page_BGZTYSe: TPrevPage;
BitBtn_BGZTYSe: TBitBtn;
ChkBox_HJCXSHi: TCheckBox;
Lbl_JCHYSe: TLabel;
Page_JCHYSe: TPrevPage;
BitBtn_JCHYSe: TBitBtn;
TS_GShi02: TTabSheet;
Grid_GShi01: THDBGrid;
Qry_Sample: TQuery;
DS_Sample: TDataSource;
UpSQL_Sample: TUpdateSQL;
ChkBox_JEXian: TCheckBox;
Lbl_YBXYse: TLabel;
Page_YBXYSe: TPrevPage;
BitBtn_YBXYSe: TBitBtn;
Lbl_XSWXYse: TLabel;
Page_XSWYSe: TPrevPage;
BitBtn_XSWYSe: TBitBtn;
ChkBox_SXDDi: TCheckBox;
Grid_GShi02: THDBGrid;
Lbl_QFWYSe: TLabel;
Page_QFWYSe: TPrevPage;
BitBtn_QFWYSe: TBitBtn;
Lbl_ZBXYSe: TLabel;
Page_ZBXYSe: TPrevPage;
BitBtn_ZBXYSe: TBitBtn;
ChkBox_HXDBian: TCheckBox;
ChkBox_GDLSXian: TCheckBox;
TS_CShu: TTabSheet;
GroupBox1: TGroupBox;
RdBtn_Select: TRadioButton;
RdBtn_Input: TRadioButton;
procedure BitBtn_BGDSeClick(Sender: TObject);
procedure BitBtn_BGZTYSeClick(Sender: TObject);
procedure BitBtn_BGXYSeClick(Sender: TObject);
procedure BitBtn_GDLYSeClick(Sender: TObject);
procedure ChkBox_GLXShiClick(Sender: TObject);
procedure BitBtn_DQHYSeClick(Sender: TObject);
procedure BitBtn_DQHZTiClick(Sender: TObject);
procedure ChkBox_HJCXSHiClick(Sender: TObject);
procedure BitBtn_JCHYSeClick(Sender: TObject);
procedure ChkBox_JEXianClick(Sender: TObject);
procedure BitBtn_YBXYSeClick(Sender: TObject);
procedure BitBtn_XSWYSeClick(Sender: TObject);
procedure BitBtn_QFWYSeClick(Sender: TObject);
procedure BitBtn_ZBXYSeClick(Sender: TObject);
procedure ChkBox_SXDDiClick(Sender: TObject);
procedure ChkBox_HXDBianClick(Sender: TObject);
procedure ChkBox_GDLSXianClick(Sender: TObject);
private
public
end;
procedure Show_SetOptions;
implementation
uses Math, IniFiles, U_GlobalVar, U_GlobalProc, U_Main;
{$R *.DFM}
procedure Show_SetOptions;
var
Fm_SetOptions: TFm_SetOptions;
i, j: integer;
begin
Fm_SetOptions := TFm_SetOptions.Create(Application);
with Fm_SetOptions do
try
// 系统登录方式
if SI_LogonStyle = 1 then
RdBtn_Select.Checked := True
else
RdBtn_Input.Checked := True;
// 表格显示格式
with GridStyles do
begin
Page_BGDSe.Color := GroundColor;
Page_BGZTYSe.Color := FontColor;
Page_BGXYSe.Color := LineColor;
Page_GDLYSe.Color := LmtColColor;
ChkBox_GLXShi.Checked := CurRowHiLight;
Page_DQHYSe.Color := CurRowColor;
Page_DQHZTi.Color := CurFntColor;
ChkBox_HJCXSHi.Checked := RowAlter;
Page_JCHYSe.Color := AlterColor;
ChkBox_JEXian.Checked := ShowMoneyLine;
Page_YBXYSe.Color := CommLineColor;
Page_XSWYSe.Color := DotLineColor;
Page_QFWYSe.Color := KiloLineColor;
Page_ZBXYSe.Color := LeftLineColor;
ChkBox_SXDDi.Checked := VertToBound;
ChkBox_HXDBian.Checked := HorzToBound;
ChkBox_GDLSXian.Checked := DblRightLine;
end;
with Qry_Sample do
begin
Open;
while not Eof do
Delete;
InsertRecord(['固定行2', '字符行2', 4527.46]);
InsertRecord(['固定行1', '字符行1', 23002.56]);
end;
RefreshGridStyle(Grid_GShi01);
RefreshGridStyle(Grid_GShi02);
if ShowModal = idOk then
begin
if RdBtn_Select.Checked then
SI_LogonStyle := 1
else
SI_LogonStyle := 0;
// 表格显示格式
with GridStyles do
begin
GroundColor := Page_BGDSe.Color;
FontColor := Page_BGZTYSe.Color;
LineColor := Page_BGXYSe.Color;
LmtColColor := Page_GDLYSe.Color;
CurRowHiLight := ChkBox_GLXShi.Checked;
CurRowColor := Page_DQHYSe.Color;
CurFntColor := Page_DQHZTi.Color;
RowAlter := ChkBox_HJCXSHi.Checked;
AlterColor := Page_JCHYSe.Color;
ShowMoneyLine := ChkBox_JEXian.Checked;
CommLineColor := Page_YBXYSe.Color;
DotLineColor := Page_XSWYSe.Color;
KiloLineColor := Page_QFWYSe.Color;
LeftLineColor := Page_ZBXYSe.Color;
VertToBound := ChkBox_SXDDi.Checked;
HorzToBound := ChkBox_HXDBian.Checked;
DblRightLine := ChkBox_GDLSXian.Checked;
with TIniFile.Create(S_SysPath + '\' + StudentIniFile), GridStyles do
try
// 系统参数
WriteInteger('系统参数', '登录方式', SI_LogonStyle);
// 表格格式参数
WriteInteger('表格格式', '表格底色', GroundColor);
WriteInteger('表格格式', '表格字体颜色', FontColor);
WriteInteger('表格格式', '表格线颜色', LineColor);
WriteInteger('表格格式', '固定列颜色', LmtColColor);
WriteBool('表格格式', '当前行高亮显示', CurRowHiLight);
WriteInteger('表格格式', '当前行颜色', CurRowColor);
WriteInteger('表格格式', '当前行字体颜色', CurFntColor);
WriteBool('表格格式', '行颜色交错显示', RowAlter);
WriteInteger('表格格式', '交错行颜色', AlterColor);
WriteBool('表格格式', '显示金额线', ShowMoneyLine);
WriteInteger('表格格式', '一般分隔线颜色', CommLineColor);
WriteInteger('表格格式', '小数位分隔线颜色', DotLineColor);
WriteInteger('表格格式', '千位分隔线颜色', KiloLineColor);
WriteInteger('表格格式', '左边线颜色', LeftLineColor);
WriteBool('表格格式', '竖线显示到底', VertToBound);
WriteBool('表格格式', '横线显示到边', HorzToBound);
WriteBool('表格格式', '固定列右线显示双线', DblRightLine);
finally
Free;
end;
end;
for i := 0 to Fm_Main.MDIChildCount - 1 do
with Fm_Main.MDIChildren[i] do
begin
for j := 0 to ComponentCount - 1 do
if Components[j] is THCustomDBGrid then
RefreshGridStyle(Components[j]);
end;
end;
finally
Free;
end;
end;
procedure TFm_SetOptions.BitBtn_BGDSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_BGDSe.Color;
if ColorDlg.Execute then
begin
Page_BGDSe.Color := ColorDlg.Color;
Grid_GShi01.Color := ColorDlg.Color;
Grid_GShi02.Color := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.BitBtn_BGZTYSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_BGZTYSe.Color;
if ColorDlg.Execute then
begin
Page_BGZTYSe.Color := ColorDlg.Color;
Grid_GShi01.Font.Color := ColorDlg.Color;
Grid_GShi02.Font.Color := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.BitBtn_BGXYSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_BGXYSe.Color;
if ColorDlg.Execute then
begin
Page_BGXYSe.Color := ColorDlg.Color;
Grid_GShi01.LineColor := ColorDlg.Color;
Grid_GShi02.LineColor := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.BitBtn_GDLYSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_GDLYSe.Color;
if ColorDlg.Execute then
begin
Page_GDLYSe.Color := ColorDlg.Color;
Grid_GShi01.LimitedColor := ColorDlg.Color;
Grid_GShi02.LimitedColor := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.ChkBox_GLXShiClick(Sender: TObject);
begin
Grid_GShi01.CurRowHighlight := ChkBox_GLXShi.Checked;
Grid_GShi02.CurRowHighlight := ChkBox_GLXShi.Checked;
end;
procedure TFm_SetOptions.BitBtn_DQHYSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_DQHYSe.Color;
if ColorDlg.Execute then
begin
Page_DQHYSe.Color := ColorDlg.Color;
Grid_GShi01.CurRowColor := ColorDlg.Color;
Grid_GShi02.CurRowColor := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.BitBtn_DQHZTiClick(Sender: TObject);
begin
ColorDlg.Color := Page_DQHZTi.Color;
if ColorDlg.Execute then
begin
Page_DQHZTi.Color := ColorDlg.Color;
Grid_GShi01.CurRowTextColor := ColorDlg.Color;
Grid_GShi02.CurRowTextColor := ColorDlg.Color;
end;
end;
procedure TFm_SetOptions.ChkBox_HJCXSHiClick(Sender: TObject);
begin
Grid_GShi01.RowAlternate := ChkBox_HJCXSHi.Checked;
Grid_GShi02.RowAlternate := ChkBox_HJCXSHi.Checked;
end;
procedure TFm_SetOptions.BitBtn_JCHYSeClick(Sender: TObject);
begin
ColorDlg.Color := Page_JCHYSe.Color;
if ColorDlg.Execute then
begin
Page_JCHYSe.Color := ColorDlg.Color;
Grid_GShi01.RowAlternateColor := ColorDlg.Color;
Grid_GShi02.RowAlternateColor := ColorDlg.Color;
end;
end;
type
THGridCreak = class(THCustomDBGrid);
procedure TFm_SetOptions.ChkBox_JEXianClick(Sender: TObject);
begin
if ChkBox_JEXian.Checked then
begin
THGridCreak(Grid_GShi01).Options := THGridCreak(Grid_GShi01).Options + [hgMoneyLine];
THGridCreak(Grid_GShi02).Options := THGridCreak(Grid_GShi02).Options + [hgMoneyLine];
end
else
begin
THGridCreak(Grid_GShi01).Options := THGridCreak(Grid_GShi01).Options - [hgMoneyLine];
THGridCreak(Grid_GShi02).Options := THGridCreak(Grid_GShi02).Options - [hgMoneyLine];
end;
end;
procedure TFm_SetOptions.BitBtn_YBXYSeClick(Sender: TObject);
var
i: integer;
begin
ColorDlg.Color := Page_YBXYSe.Color;
if ColorDlg.Execute then
begin
Page_YBXYSe.Color := ColorDlg.Color;
for i := 0 to Grid_GShi01.Columns.Count - 1 do
begin
if Grid_GShi01.Columns[i].MoneyLine then
begin
Grid_GShi01.Columns[i].CommLineColor := ColorDlg.Color; // 一般分隔线颜色
Grid_GShi02.Columns[i].CommLineColor := ColorDlg.Color; // 一般分隔线颜色
end;
end;
end;
end;
procedure TFm_SetOptions.BitBtn_XSWYSeClick(Sender: TObject);
var
i: integer;
begin
ColorDlg.Color := Page_XSWYSe.Color;
if ColorDlg.Execute then
begin
Page_XSWYSe.Color := ColorDlg.Color;
for i := 0 to Grid_GShi01.Columns.Count - 1 do
begin
if Grid_GShi01.Columns[i].MoneyLine then
begin
Grid_GShi01.Columns[i].DecLineColor := ColorDlg.Color;
Grid_GShi02.Columns[i].DecLineColor := ColorDlg.Color;
end;
end;
end;
end;
procedure TFm_SetOptions.BitBtn_QFWYSeClick(Sender: TObject);
var
i: integer;
begin
ColorDlg.Color := Page_QFWYSe.Color;
if ColorDlg.Execute then
begin
Page_QFWYSe.Color := ColorDlg.Color;
for i := 0 to Grid_GShi01.Columns.Count - 1 do
begin
if Grid_GShi01.Columns[i].MoneyLine then
begin
Grid_GShi01.Columns[i].KiloLineColor := ColorDlg.Color;
Grid_GShi02.Columns[i].KiloLineColor := ColorDlg.Color;
end;
end;
end;
end;
procedure TFm_SetOptions.BitBtn_ZBXYSeClick(Sender: TObject);
var
i: integer;
begin
ColorDlg.Color := Page_ZBXYSe.Color;
if ColorDlg.Execute then
begin
Page_ZBXYSe.Color := ColorDlg.Color;
for i := 0 to Grid_GShi01.Columns.Count - 1 do
begin
if Grid_GShi01.Columns[i].MoneyLine then
begin
Grid_GShi01.Columns[i].LeftLineColor := ColorDlg.Color;
Grid_GShi02.Columns[i].LeftLineColor := ColorDlg.Color;
end;
end;
end;
end;
procedure TFm_SetOptions.ChkBox_SXDDiClick(Sender: TObject);
begin
Grid_GShi01.VertToBound := ChkBox_SXDDi.Checked;
Grid_GShi02.VertToBound := ChkBox_SXDDi.Checked;
end;
procedure TFm_SetOptions.ChkBox_HXDBianClick(Sender: TObject);
begin
Grid_GShi01.HorzToBound := ChkBox_HXDBian.Checked;
Grid_GShi02.HorzToBound := ChkBox_HXDBian.Checked;
end;
procedure TFm_SetOptions.ChkBox_GDLSXianClick(Sender: TObject);
begin
Grid_GShi01.Columns[Grid_GShi01.LimitedCol - 1].RightDouble :=
ChkBox_GDLSXian.Checked;
Grid_GShi02.Columns[Grid_GShi02.LimitedCol - 1].RightDouble :=
ChkBox_GDLSXian.Checked;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -