📄 titledesign.pas
字号:
unit TitleDesign;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, ExtCtrls, Buttons, DBGrids, Grids, DBGridEh;
type
Ttitledesign_form = class(TForm)
CB: TCheckListBox;
Bevel1: TBevel;
BitBtn5: TBitBtn;
BitBtn7: TBitBtn;
sb: TScrollBox;
CB1: TListBox;
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure CBClick(Sender: TObject);
private
FDbGrid:TDbGrid;
FDbGridEh:TDbGridEh;
{ Private declarations }
public
str:string;
procedure setgrid(dbgrid:TDbGrid);overload;
procedure setgrid(dbgrideh:TDbGridEh);overload;
{ Public declarations }
end;
var
titledesign_form: Ttitledesign_form;
implementation
{$R *.dfm}
procedure Ttitledesign_form.setgrid(dbgrid:TDbGrid);
begin
fdbgrid.Visible:=true;
FdbGrid.Columns.Assign(dbgrid.Columns);
fdbgrid.Parent:=sb;
fdbgrid.Align:=alclient;
fdbgrideh.Visible:=false;
end;
procedure Ttitledesign_form.setgrid(dbgrideh:TDbGridEh);
begin
fdbgrideh.Visible:=true;
FdbGrideh.Columns.Assign(dbgrideh.Columns);
fdbgrideh.Parent:=sb;
fdbgrideh.Align:=alclient;
fdbgrid.Visible:=false;
end;
procedure Ttitledesign_form.BitBtn5Click(Sender: TObject);
begin
str:='';
close;
end;
procedure Ttitledesign_form.BitBtn7Click(Sender: TObject);
var
i:integer;
wd:string;
begin
str:='';
wd:='';
if fdbgrid.Visible then
begin
for i:=0 to fdbgrid.Columns.Count-1 do
begin
wd:=inttostr(fdbgrid.Columns[i].Width);
if fdbgrid.Columns[i].Width>9999 then wd:='9999';
if fdbgrid.Columns[i].Width<0 then wd:='0';
wd:=stringofchar('0',4-length(wd))+wd;
if cb.Checked[cb1.Items.IndexOf(fdbgrid.Columns[i].FieldName)] then
str:=str+'1'+wd+fdbgrid.Columns[i].FieldName+'#'
else
str:=str+'0'+wd+fdbgrid.Columns[i].FieldName+'#';
end;
end;
if fdbgrideh.Visible then
begin
for i:=0 to fdbgrideh.Columns.Count-1 do
begin
wd:=inttostr(fdbgrideh.Columns[i].Width);
if fdbgrideh.Columns[i].Width>9999 then wd:='9999';
if fdbgrideh.Columns[i].Width<0 then wd:='0';
wd:=stringofchar('0',4-length(wd))+wd;
if cb.Checked[cb1.Items.IndexOf(fdbgrideh.Columns[i].FieldName)] then
str:=str+'1'+wd+fdbgrideh.Columns[i].FieldName+'#'
else
str:=str+'0'+wd+fdbgrideh.Columns[i].FieldName+'#';
end;
end;
//showmessage(str);
close;
end;
procedure Ttitledesign_form.FormCreate(Sender: TObject);
begin
FdbGrid:=Tdbgrid.Create(nil);
FDbGridEh:=TDbGridEh.Create(nil);
end;
procedure Ttitledesign_form.FormDestroy(Sender: TObject);
begin
freeandnil(fdbgrid);
freeandnil(fdbgrideh);
end;
procedure Ttitledesign_form.CBClick(Sender: TObject);
var
i:integer;
begin
//显示表格头
if fdbgrid.Visible then
begin
for i:=0 to fdbgrid.Columns.Count-1 do
begin
if fdbgrid.Columns[i].FieldName=cb1.Items.Strings[cb.ItemIndex] then
fdbgrid.Columns[i].Visible:=cb.Checked[cb.ItemIndex];
end;
end;
if fdbgrideh.Visible then
begin
for i:=0 to fdbgrideh.Columns.Count-1 do
begin
if fdbgrideh.Columns[i].FieldName=cb1.Items.Strings[cb.ItemIndex] then
fdbgrideh.Columns[i].Visible:=cb.Checked[cb.ItemIndex];
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -