⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printchartsetup.pas

📁 进销存管理 编译环境Delphi7+Win2000 用到的控件 ReportMachine2.6 InfoPower4000Pro_vcl7 RxLib2.7 SkinEngine 3
💻 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 + -