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

📄 setformstyle.pas

📁 进销存·完整的·有数据库的·非常完整·只得参考
💻 PAS
字号:
unit SetFormStyle;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseForm, KsSkinForms, KsSkinButtons, KsSkinCheckBoxs,
  KsSkinGroupBoxs, SysPublic, ExtCtrls, KsSkinLabels, KsSkinListBoxs,
  jpeg, KsSkinTrackBars, dxTL, dxCntner, StdCtrls, dxExEdtr,
   KsSkinSpinButtons, KsSkinEdits, dxEditor,
  dxEdLib, dxDBELib, se_controls, KsSkinPanels;

type
  TfrmSetFormStyle = class(TfrmBaseForm)
    bbOk: TSeSkinButton;
    bbNo: TSeSkinButton;
    SeSkinGroupBox1: TSeSkinGroupBox;
    srbSetWeb: TSeSkinRadioButton;
    srbBmp: TSeSkinRadioButton;
    SeSkinGroupBox2: TSeSkinGroupBox;
    srbEditFlat: TSeSkinRadioButton;
    srbEdit3d: TSeSkinRadioButton;
    srbEditWeb: TSeSkinRadioButton;
    ColorDialog1: TColorDialog;
    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;
    bbDefault: TSeSkinButton;
    TrackBar: TSeSkinTrackBar;
    SeSkinLabel3: TSeSkinLabel;
    edtPic: TdxButtonEdit;
    OpenDlg: TOpenDialog;
    SeSkinGroupBox4: TSeSkinGroupBox;
    cbxFullGrid: TSeSkinCheckBox;
    cbxQFullGrid: TSeSkinCheckBox;
    Label1: TSeSkinLabel;
    pnlColor: TSeSkinPanel;
    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 + -