📄 printchartsetup.pas
字号:
unit PrintChartSetup;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, EditForm, KsSkinForms, KsSkinSpeedButtons, KsSkinGroupBoxs,
KsSkinButtons, KsSkinCheckBoxs, dxCntner, dxEditor, dxExEdtr, dxEdLib,
se_controls, KsSkinLabels, DB, ADODB, KsSkinComboBoxs,
dxTL, dxDBCtrl, dxDBGrid;
type
TfrmPrintChartSetup = class(TfrmEditForm)
GroupBox1: TSeSkinGroupBox;
SB1: TSeSkinSpeedButton;
SB4: TSeSkinSpeedButton;
SB2: TSeSkinSpeedButton;
SB6: TSeSkinSpeedButton;
SB5: TSeSkinSpeedButton;
SB3: TSeSkinSpeedButton;
SB7: TSeSkinSpeedButton;
SB8: TSeSkinSpeedButton;
SB9: TSeSkinSpeedButton;
SB11: TSeSkinSpeedButton;
SB10: TSeSkinSpeedButton;
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
GroupBox2: TSeSkinGroupBox;
SeSkinLabel1: TSeSkinLabel;
SeSkinLabel2: TSeSkinLabel;
cbxName: TdxPickEdit;
cbxValue: TdxPickEdit;
cbxField: TdxPickEdit;
SeSkinLabel3: TSeSkinLabel;
procedure bbNoClick(Sender: TObject);
procedure bbOkClick(Sender: TObject);
private
{ Private declarations }
bReturn: Boolean;
lChart: Integer;
sPubName, sPubValue: string;
dxGrid: TCustomdxDBTreeListControl;
procedure MainShow;
procedure LoadData;
procedure SetButton(b: array of TSeSkinSpeedButton; n: Integer);
function GetButton(b: array of TSeSkinSpeedButton): Integer;
public
{ Public declarations }
end;
function PrintChartSetupShow(dxGrid1: TCustomdxDBTreeListControl; var lChart1:
Integer; var sField1, sField2: string): Boolean;
implementation
uses SysPublic;
{$R *.dfm}
function PrintChartSetupShow(dxGrid1: TCustomdxDBTreeListControl; var lChart1:
Integer; var sField1, sField2: string): Boolean;
var
frmPrintChartSetup: TfrmPrintChartSetup;
begin
frmPrintChartSetup := TfrmPrintChartSetup.Create(Application);
with frmPrintChartSetup do
begin
dxGrid := dxGrid1;
lChart := lChart1;
sPubName := sField1;
sPubValue := sField2;
MainShow;
lChart1 := lChart;
sField1 := sPubName;
sField2 := sPubValue;
Result := bReturn;
Free;
end;
end;
procedure TfrmPrintChartSetup.MainShow;
begin
bReturn := False;
LoadData;
ShowModal;
end;
procedure TfrmPrintChartSetup.LoadData;
begin
if (lChart < 0) and (lChart > 100) then
lChart := 0;
SetButton([SB1, SB2, SB3, SB4, SB5, SB6, SB7, SB8, SB9, SB10, SB11], lChart);
cbxName.Items.Text := GridNameToStrings(dxGrid, #13);
cbxValue.Items.Text := cbxName.Items.Text;
cbxField.Items.Text := GridFieldToStrings(dxGrid, #13);
if cbxName.Items.Count <> cbxField.Items.Count then //如果出错
begin
cbxName.Items.Text := '';
cbxValue.Items.Text := '';
end
else
begin
cbxName.ItemIndex := GetStringIndex(cbxField.Items, sPubName); //对应索引
cbxValue.ItemIndex := GetStringIndex(cbxField.Items, sPubValue);
end;
end;
procedure TfrmPrintChartSetup.SetButton(b: array of TSeSkinSpeedButton; n:
Integer);
begin
b[n].Down := True;
end;
function TfrmPrintChartSetup.GetButton(b: array of TSeSkinSpeedButton): Integer;
var
i: Integer;
begin
Result := 0;
for i := 0 to High(b) do
begin
if b[i].Down then
Result := i;
end;
end;
procedure TfrmPrintChartSetup.bbNoClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmPrintChartSetup.bbOkClick(Sender: TObject);
begin
inherited;
bReturn := True;
lChart := GetButton([SB1, SB2, SB3, SB4, SB5, SB6, SB7, SB8, SB9, SB10,
SB11]);
sPubName := cbxField.Items.Strings[cbxName.ItemIndex];
sPubValue := cbxField.Items.Strings[cbxValue.ItemIndex];
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -