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

📄 setformstyle.pas

📁 中小企业管理系统------ ERP系统原代码
💻 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.



//此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
//╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
//╭⌒╭⌒╮╭⌒╮~╭⌒╮  ︶  ,︶︶
//,︶︶︶︶,''︶~~ ,''~︶︶  ,''
//╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
//╬ ︱田︱田 田 ︱          ╬
//╬       http://www.5ivb.net ╬
//╬  ╭○╮●                     ╬
//╬  /■\/■\                    ╬
//╬   <| ||    有希望,就有成功! ╬
//╬                 ╬
//╚╬╬╬╬╬╬╬╬╬╬╗  ╔╬╬╬╬╝
//
//说明:
//专业提供VB、.NET、Delphi、ASP、PB源码下载
//包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档

⌨️ 快捷键说明

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