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

📄 setformstyle.pas

📁 胜天财务进销存2003源代码,SQLSERVER版,目前最完整的财务进销存系统.
💻 PAS
字号:
unit SetFormStyle;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseForm, KsHooks, KsForms, KsSkinForms, KsControls, KsButtons,
  KsSkinButtons, KsCheckBoxs, KsSkinCheckBoxs, KsGroupBoxs, KsSkinGroupBoxs
  , SysPublic, ExtCtrls, KsLabels, KsSkinLabels, KsListBoxs, KsSkinListBoxs,
  jpeg, KsTrackBars, KsSkinTrackBars, dxTL, dxCntner, StdCtrls, dxExEdtr,
  KsSpinButtons, KsSkinSpinButtons, KsEdits, KsSkinEdits, dxEditor,
  dxEdLib, dxDBELib;

type
  TfrmSetFormStyle = class(TfrmBaseForm)
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    SeSkinGroupBox1: TSeSkinGroupBox;
    srbSetWeb: TSeSkinRadioButton;
    srbBmp: TSeSkinRadioButton;
    SeSkinGroupBox2: TSeSkinGroupBox;
    srbEditFlat: TSeSkinRadioButton;
    srbEdit3d: TSeSkinRadioButton;
    srbEditWeb: TSeSkinRadioButton;
    ColorDialog1: TColorDialog;
    pnlColor: TPanel;
    sbSetColor: TSeSkinButton;
    lbxList1: TSeSkinListBox;
    SeSkinLabel1: TSeSkinLabel;
    lbxList2: TSeSkinListBox;
    SeSkinButton1: TSeSkinButton;
    SeSkinGroupBox3: TSeSkinGroupBox;
    rb2: TSeSkinRadioButton;
    rb3: TSeSkinRadioButton;
    rb1: TSeSkinRadioButton;
    bbGridTop: TSeSkinButton;
    MainTree: TdxTreeList;
    dxTreeList1Column1: TdxTreeListColumn;
    dxTreeList1Column2: TdxTreeListColumn;
    SeSkinLabel2: TSeSkinLabel;
    bbGridColor: TSeSkinButton;
    Label1: TLabel;
    bbDefault: TSeSkinButton;
    TrackBar: TSeSkinTrackBar;
    SeSkinLabel3: TSeSkinLabel;
    edtPic: TdxButtonEdit;
    OpenDlg: TOpenDialog;
    SeSkinGroupBox4: TSeSkinGroupBox;
    cbxFullGrid: TSeSkinCheckBox;
    cbxQFullGrid: TSeSkinCheckBox;
    procedure bbOkClick(Sender: TObject);
    procedure bbNoClick(Sender: TObject);
    procedure SeSkinButton1Click(Sender: TObject);
    procedure bbGridColorClick(Sender: TObject);
    procedure rb1Click(Sender: TObject);
    procedure rb2Click(Sender: TObject);
    procedure rb3Click(Sender: TObject);
    procedure bbDefaultClick(Sender: TObject);
    procedure bbGridTopClick(Sender: TObject);
    procedure sbSetColorClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure TrackBarChange(Sender: TObject);
    procedure edtPicButtonClick(Sender: TObject; AbsoluteIndex: Integer);
  private
    bReturn: Boolean;
    lDeltaHue: Integer;
    sPubDesk: string;
    lSkinIndex: Integer;
    procedure MainShow;
    procedure LoadData;
    { Private declarations }
  public
    { Public declarations }
  end;

function SetFormStyleShow(var sDesk: string): Boolean;

implementation

uses DBData, MainWindow;
{$R *.dfm}

function SetFormStyleShow(var sDesk: string): Boolean;
var
  frmSetFormStyle: TfrmSetFormStyle;
begin
  frmSetFormStyle := TfrmSetFormStyle.Create(Application);
  with frmSetFormStyle do
  begin
    sPubDesk := sDesk;
    MainShow;
    sDesk := sPubDesk;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmSetFormStyle.MainShow;
begin
  LoadData;
  ShowModal;
end;

procedure TfrmSetFormStyle.LoadData;
var
  sStyle, sColor, sIndex: string;
  Color: TColor;
begin
  bReturn := false;
  lbxList1.ItemIndex := 0;
  if sPubDesk = 'WWW' then
    srbSetWeb.Checked := True
  else srbBmp.Checked := True;
  //常用控件
  sStyle := Trim(GetIniValue(frmData.ADOConnetLogin, 'ControlStyle'));
  if sStyle = IntToStr(STYLE_FLAT) then srbEditFlat.Checked := True
  else if sStyle = IntToStr(STYLE_3D) then srbEdit3d.Checked := True
  else srbEditWeb.Checked := True;

  sColor := Trim(GetIniValue(frmData.ADOConnetLogin, 'ControlColor'));
  if sColor <> '' then Color := StringToColor(sColor)
  else Color := clTeal;
  pnlColor.Color := Color;
  //界面方案
  lDeltaHue := frmData.SeSkinEngine.DeltaHue;
  sIndex := GetIniValue(frmData.ADOConnetLogin, 'SkinFileIndex');
  if sIndex <> '' then lbxList1.ItemIndex := StrToInt2(sIndex);
  lSkinIndex := StrToInt2(sIndex);
  sIndex := GetIniValue(frmData.ADOConnetLogin, 'SkinDeltaHue');
  if sIndex <> '' then TrackBar.Position := StrToInt2(sIndex);

  MainTree.LookAndFeel := StringToLookAndFeel(GetIniValue(frmData.ADOConnetLogin,
    'GridLookAndFeel'));
  if MainTree.LookAndFeel = lfUltraFlat then rb2.Checked := True
  else if MainTree.LookAndFeel = lfStandard then rb3.Checked := True
  else rb1.Checked := True;
  //设置表格样式
  sColor := GetIniValue(frmData.ADOConnetLogin, 'GridBandColor');
  if sColor <> '' then MainTree.BandColor := StringToColor(sColor);
  sColor := GetIniValue(frmData.ADOConnetLogin, 'GridHeaderColor');
  if sColor <> '' then MainTree.HeaderColor := StringToColor(sColor);
  sColor := GetIniValue(frmData.ADOConnetLogin, 'GridColor');
  if sColor <> '' then MainTree.Color := StringToColor(sColor);
  //画满表格
  cbxFullGrid.Checked := StrToBool2(GetIniValue(frmData.ADOConnetLogin, 'DrawFullGrid'));
  cbxQFullGrid.Checked := StrToBool2(GetIniValue(frmData.ADOConnetLogin, 'QDrawFullGrid'));
  //图片文件
  edtPic.Text := GetIniValue(frmData.ADOConnetLogin, 'DesktopPic'); //先读图片
end;

procedure TfrmSetFormStyle.bbOkClick(Sender: TObject);
var
  lStyle: Integer;
  sSkinFile: string;
begin
  inherited;
  if srbSetWeb.Checked then sPubDesk := 'WWW'
  else sPubDesk := 'PIC';

  if srbEditFlat.Checked then lStyle := STYLE_FLAT
  else if srbEdit3d.Checked then lStyle := STYLE_3D
  else lStyle := STYLE_WEB;

  SetIniValue(frmData.ADOConnetLogin, 'Desktop', sPubDesk);
  //保存控件样式
  SetIniValue(frmData.ADOConnetLogin, 'ControlStyle', IntToStr(lStyle));
  SetIniValue(frmData.ADOConnetLogin, 'ControlColor', ColorToString(pnlColor.Color));
  //保存界面风格
  lSkinIndex := lbxList1.ItemIndex;
  lDeltaHue := frmData.SeSkinEngine.DeltaHue;
  sSkinFile := lbxList2.Items.Strings[lbxList1.ItemIndex];
  SetIniValue(frmData.ADOConnetLogin, 'SkinFile', sSkinFile);
  SetIniValue(frmData.ADOConnetLogin, 'SkinFileIndex', IntToStr(lSkinIndex));
  SetIniValue(frmData.ADOConnetLogin, 'SkinDeltaHue', IntToStr(lDeltaHue));
  SetSkinEngineFile(sSkinFile);
  //保存表格样式
  SetIniValue(frmData.ADOConnetLogin, 'GridLookAndFeel', LookAndFeelToString(MainTree.LookAndFeel));
  SetIniValue(frmData.ADOConnetLogin, 'GridBandColor', ColorToString(MainTree.BandColor));
  SetIniValue(frmData.ADOConnetLogin, 'GridHeaderColor', ColorToString(MainTree.HeaderColor));
  SetIniValue(frmData.ADOConnetLogin, 'GridColor', ColorToString(MainTree.Color));
  //设置满表格显示
  SetIniValue(frmData.ADOConnetLogin, 'DrawFullGrid', BoolToStr(cbxFullGrid.Checked));
  SetIniValue(frmData.ADOConnetLogin, 'QDrawFullGrid', BoolToStr(cbxQFullGrid.Checked));

  GridREC.LookAndFeel := MainTree.LookAndFeel;
  GridREC.BandColor := MainTree.BandColor;
  GridREC.HeaderColor := MainTree.HeaderColor;
  GridREC.Color := MainTree.Color;
  //保存图片路径
  SetIniValue(frmData.ADOConnetLogin, 'DesktopPic', edtPic.Text);
  bReturn := True;
  Close;
end;

procedure TfrmSetFormStyle.bbNoClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmSetFormStyle.SeSkinButton1Click(Sender: TObject);
begin
  inherited;
  LockWindowUpdate(frmMainWindow.Handle);
  LockWindowUpdate(HANDLE);
  frmData.SeSkinEngine.DeltaHue := 0;
  SetSkinEngineFile(lbxList2.Items.Strings[lbxList1.ItemIndex]);
  frmData.SeSkinEngine.DeltaHue := TrackBar.Position;
  LockWindowUpdate(0);
end;

procedure TfrmSetFormStyle.bbGridColorClick(Sender: TObject);
begin
  inherited;
  if ColorDialog1.Execute then
    MainTree.Color := ColorDialog1.Color;
end;

procedure TfrmSetFormStyle.rb1Click(Sender: TObject);
begin
  inherited;
  if rb1.Checked then
    MainTree.LookAndFeel := lfFlat;
end;

procedure TfrmSetFormStyle.rb2Click(Sender: TObject);
begin
  inherited;
  if rb2.Checked then
    MainTree.LookAndFeel := lfUltraFlat;
end;

procedure TfrmSetFormStyle.rb3Click(Sender: TObject);
begin
  inherited;
  if rb3.Checked then
    MainTree.LookAndFeel := lfStandard;
end;

procedure TfrmSetFormStyle.bbDefaultClick(Sender: TObject);
begin
  inherited;
  srbSetWeb.Checked := True;
  srbEditWeb.Checked := True;
  rb1.Checked := True;
  rb1Click(nil);
  pnlColor.Color := clTeal;
  MainTree.BandColor := $00D3D2BA;
  MainTree.HeaderColor := $00D3D2BA;
  MainTree.Color := clWhite;
  lbxList1.ItemIndex := 1;
  TrackBar.Position := 0;
  SetSkinEngineFile(lbxList2.Items.Strings[lbxList1.ItemIndex]);
  frmData.SeSkinEngine.DeltaHue := 0;
end;

procedure TfrmSetFormStyle.bbGridTopClick(Sender: TObject);
begin
  inherited;
  if ColorDialog1.Execute then
  begin
    MainTree.BandColor := ColorDialog1.Color;
    MainTree.HeaderColor := ColorDialog1.Color;
  end;
end;

procedure TfrmSetFormStyle.sbSetColorClick(Sender: TObject);
begin
  inherited;
  if ColorDialog1.Execute then
    pnlColor.Color := ColorDialog1.Color;
end;

procedure TfrmSetFormStyle.FormDestroy(Sender: TObject);
begin
  inherited;
  LockWindowUpdate(frmMainWindow.Handle);
  LockWindowUpdate(HANDLE);
  ControlInitialize;
  LockWindowUpdate(0);
end;

procedure TfrmSetFormStyle.TrackBarChange(Sender: TObject);
begin
  inherited;
  LockWindowUpdate(frmMainWindow.Handle);
  LockWindowUpdate(HANDLE);
  frmData.SeSkinEngine.DeltaHue := TrackBar.Position;
  LockWindowUpdate(0);
end;

procedure TfrmSetFormStyle.edtPicButtonClick(Sender: TObject;
  AbsoluteIndex: Integer);
var
  sFileName: string;
begin
  inherited;
  OpenDlg.FileName := edtPic.Text;
  if OpenDlg.Execute then
  begin
    sFileName := OpenDlg.FileName;
    edtPic.Text := sFileName;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -