📄 frm_selectfields.pas
字号:
unit FRM_SELECTFIELDS;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, dbgrideh, CheckLst, FlEdit;
type
TSelectFields = class(TForm)
BitBtn5: TSpeedButton;
combobox1: TListBox;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Label6: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
Label8: TLabel;
FloatEdit1: TFloatEdit;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure combobox1Click(Sender: TObject);
published
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
ColorDialog1: TColorDialog;
FontDialog1: TFontDialog;
Label3: TLabel;
Label4: TLabel;
GroupBox2: TGroupBox;
CheckListBox1: TCheckListBox;
Label5: TLabel;
Label2: TLabel;
Label7: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Label2Click(Sender: TObject);
procedure Label3Click(Sender: TObject);
procedure Label6Click(Sender: TObject);
procedure Label7Click(Sender: TObject);
procedure loadfields;
procedure FormCreate(Sender: TObject);
private
FDbgrideh: TDBGridEh;
procedure SetDbgrideh(const Value: TDBGridEh);
{ Private declarations }
public
{ Public declarations }
published
property Dbgrideh: TDBGridEh read FDbgrideh write SetDbgrideh;
end;
var
SelectFields: TSelectFields;
implementation
{$R *.DFM}
procedure TSelectFields.BitBtn3Click(Sender: TObject);
begin
end;
procedure TSelectFields.BitBtn4Click(Sender: TObject);
begin
end;
procedure TSelectFields.BitBtn5Click(Sender: TObject);
var
i: integer;
mcolumns: tcolumneh;
m_display_list: TStringList;
begin
m_display_list := TStringList.Create;
with FDbgrideh do
begin
for i := 0 to Columns.Count - 1 do
begin
if not CheckListBox1.Checked[i] then
Columns[i].Visible := False
else
Columns[i].Visible := true;
end;
end;
loadfields;
end;
procedure TSelectFields.BitBtn1Click(Sender: TObject);
begin
with SaveDialog1 do
begin
if (Execute and (FileName <> '')) then
begin
Fdbgrideh.Columns.SaveToFile(FileName + '.ds');
MessageDlg('保存完成', mtWarning, [mbOK], 0);
end;
end;
end;
procedure TSelectFields.Label2Click(Sender: TObject);
begin
if ColorDialog1.Execute then
begin
Label2.Color := ColorDialog1.Color;
end;
end;
procedure TSelectFields.Label3Click(Sender: TObject);
begin
with FontDialog1 do
begin
Font.Assign(Label3.Font);
if Execute then
Label3.Font.Assign(Font);
end;
end;
procedure TSelectFields.Label6Click(Sender: TObject);
begin
end;
procedure TSelectFields.loadfields;
var
i: integer;
begin
ComboBox1.Items.Clear;
with CheckListBox1 do
begin
Items.Clear;
for i := 0 to Dbgrideh.Columns.Count - 1 do
begin
items.Add(Dbgrideh.Columns[i].FieldName);
ComboBox1.Items.Add(Dbgrideh.Columns[i].FieldName);
if Dbgrideh.Columns[i].Visible then
begin
Checked[i] := True;
end
else
Checked[i] := false;
end;
end;
end;
procedure TSelectFields.Label7Click(Sender: TObject);
begin
with FontDialog1 do
begin
Font.Assign(Label7.Font);
if Execute then
Label7.Font.Assign(Font);
end;
end;
procedure TSelectFields.FormCreate(Sender: TObject);
begin
OpenDialog1.InitialDir := ExtractFilePath(Application.ExeName);
SaveDialog1.InitialDir := ExtractFilePath(Application.ExeName);
end;
procedure TSelectFields.BitBtn2Click(Sender: TObject);
begin
with OpenDialog1 do
begin
if Execute and (FileName <> '') then
Fdbgrideh.Columns.LoadFromFile(FileName);
end;
end;
procedure TSelectFields.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
end;
procedure TSelectFields.FormShow(Sender: TObject);
begin
loadfields;
end;
procedure TSelectFields.Label4Click(Sender: TObject);
begin
if ColorDialog1.Execute then
begin
Label4.Color := ColorDialog1.Color;
end;
end;
procedure TSelectFields.SetDbgrideh(const Value: TDBGridEh);
begin
FDbgrideh := Value;
end;
procedure TSelectFields.SpeedButton1Click(Sender: TObject);
begin
close;
end;
procedure TSelectFields.SpeedButton2Click(Sender: TObject);
var
s: string;
i: integer;
begin
with Fdbgrideh do
begin
for i := 0 to combobox1.Items.Count - 1 do
begin
if combobox1.Selected[i] then
begin
Columns[i].Font.Assign(Label7.Font);
Columns[i].Color := Label2.Color;
Columns[i].Title.Color := Label4.Color;
Columns[i].Title.Font.Assign(Label3.Font);
Columns[i].DisplayFormat := Edit1.Text;
// Columns[i].Title.Caption := edit2.Text;
end;
end;
FrozenCols := round(FloatEdit1.Value);
end;
end;
procedure TSelectFields.SpeedButton3Click(Sender: TObject);
var
s: string;
i: integer;
begin
with Fdbgrideh do
begin
for i := 0 to Columns.Count - 1 do
begin
Columns[i].Font.Assign(Label7.Font);
Columns[i].Color := Label2.Color;
Columns[i].Title.Color := Label4.Color;
Columns[i].Title.Font.Assign(Label3.Font);
Columns[i].DisplayFormat := Edit1.Text;
// Columns[i].Title.Caption := edit2.Text;
end;
FrozenCols := round(FloatEdit1.Value);
end;
end;
procedure TSelectFields.combobox1Click(Sender: TObject);
var
s: string;
i: integer;
begin
i := combobox1.Itemindex;
if i < 0 then Exit;
with Dbgrideh do
begin
Label7.Font.Assign(Columns[i].Font);
Label2.Color := Columns[i].Color;
Label4.Color := Columns[i].Title.Color;
Label3.Font.assign(Columns[i].Title.Font);
edit1.Text := Columns[i].DisplayFormat;
// edit2.Text := Columns[i].Title.Caption;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -