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

📄 skinbuild.pas

📁 BusinessSkinForm_v6.07_FS,delphi皮肤
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit skinbuild;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, ExtCtrls, Buttons, Menus, bsSkinData,
  bsPropertyEditor, ComCtrls, ToolWin,
  StdCtrls, ExtDlgs, ImageEditor,
  AddPicDlg, TestFrmEmpty,  TestFrmCtrls, BusinessSkinForm, ImgList,
  bsSkinHint;

type
  TSBForm = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    SectionList: TListBox;
    Names: TListBox;
    Splitter1: TSplitter;
    OD: TOpenDialog;
    Panel4: TPanel;
    SpeedButton9: TSpeedButton;
    SpeedButton10: TSpeedButton;
    SD: TSaveDialog;
    CD: TOpenDialog;
    Panel2: TPanel;
    Label4: TLabel;
    PE: TbsPropertyEditor;
    SkinData: TbsSkinData;
    ToolBar2: TToolBar;
    NewSkinButton: TToolButton;
    OpenSkinButton: TToolButton;
    D1: TToolButton;
    SaveSkinButton: TToolButton;
    SaveSkinAsButton: TToolButton;
    D2: TToolButton;
    TestFormButton: TToolButton;
    TestCtrlsButton: TToolButton;
    D4: TToolButton;
    ExitButton: TToolButton;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    bsSkinHint1: TbsSkinHint;
    procedure SectionListClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure NamesClick(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure PEEditProperty(P: TbsProperty);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure NewSkinButtonClick(Sender: TObject);
    procedure OpenSkinButtonClick(Sender: TObject);
    procedure SaveSkinButtonClick(Sender: TObject);
    procedure SaveSkinAsButtonClick(Sender: TObject);
    procedure TestFormButtonClick(Sender: TObject);
    procedure TestCtrlsButtonClick(Sender: TObject);
    procedure ExitButtonClick(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
    procedure ApplyChanges;
    procedure AddPicture;
    procedure DeletePicture;
    procedure LoadVersionSection;
    procedure LoadPicturesSection;
    procedure LoadFormInfoSection;
    procedure SaveVersionSection;
    procedure SavePicturesSection;
    procedure SaveFormInfoSection;
    procedure LoadPWSection;
    procedure LoadColorsSection;
    procedure SavePWSection;
    procedure SaveColorsSection;
    procedure LoadHWSection;
    procedure SaveHWSection;
    procedure LoadSkin;
    procedure NewSkin;
    procedure SaveSkin;
    procedure PointDialog(P: TbsProperty);
    procedure PointDialog1(Index: Integer; P: TbsProperty);
    procedure PointDialog2(Index: Integer; R: TRect; P: TbsProperty);
    procedure PointDialog21(R: TRect; P: TbsProperty);
    procedure RectDialog(P: TbsProperty);
    procedure RectDialog1(Index: Integer; P: TbsProperty);
    procedure RectDialog2(Index: Integer; R: TRect; P: TbsProperty);
    procedure RectDialog21(R: TRect; P: TbsProperty);
    procedure IndexDialog(P: TbsProperty);
    procedure FSDialog(P: TbsProperty);
    procedure LoadCtrlList;
    procedure LoadControl(Index: Integer);
    procedure DefLoadControl(Index: Integer);
    procedure DefLoadResizeControl(Index: Integer);
    procedure LoadPanelControl(Index: Integer);
    procedure LoadExPanelControl(Index: Integer);
    procedure LoadLabelControl(Index: Integer);
    procedure LoadStdLabelControl(Index: Integer);
    procedure LoadButtonControl(Index: Integer);
    procedure LoadMenuButtonControl(Index: Integer);
    procedure LoadCheckRadioControl(Index: Integer);
    procedure LoadGaugeControl(Index: Integer);
    procedure LoadSplitterControl(Index: Integer); 
    procedure LoadTrackBarControl(Index: Integer);
    procedure LoadUpDownControl(Index: Integer);
    procedure LoadGridControl(Index: Integer);
    procedure LoadTabControl(Index: Integer);
    procedure LoadSliderControl(Index: Integer);
    procedure LoadControlBar(Index: Integer);
    procedure LoadMainMenuBar(Index: Integer);
    procedure LoadListBoxControl(Index: Integer);
    procedure LoadCheckListBoxControl(Index: Integer);
    procedure LoadComboBoxControl(Index: Integer);
    procedure LoadEditControl(Index: Integer);
    procedure LoadMemoControl(Index: Integer);
    procedure LoadScrollBarControl(Index: Integer);
    procedure LoadSpinEditControl(Index: Integer);
    procedure LoadScrollBoxControl(Index: Integer);
    procedure LoadTreeViewControl(Index: Integer);
    procedure LoadListViewControl(Index: Integer);
    procedure LoadRichEditControl(Index: Integer);
    procedure LoadBevelControl(Index: Integer);

    procedure SaveControl(Index: Integer);
    procedure DefSaveControl(Index: Integer);
    procedure DefSaveResizeControl(Index: Integer);
    procedure SavePanelControl(Index: Integer);
    procedure SaveExPanelControl(Index: Integer);
    procedure SaveLabelControl(Index: Integer);
    procedure SaveStdLabelControl(Index: Integer);
    procedure SaveButtonControl(Index: Integer);
    procedure SaveMenuButtonControl(Index: Integer);
    procedure SaveCheckRadioControl(Index: Integer);
    procedure SaveGaugeControl(Index: Integer);
    procedure SaveSplitterControl(Index: Integer);
    procedure SaveTrackBarControl(Index: Integer);
    procedure SaveUpDownControl(Index: Integer);
    procedure SaveGridControl(Index: Integer);
    procedure SaveTabControl(Index: Integer);
    procedure SaveSliderControl(Index: Integer);
    procedure SaveMainMenuBar(Index: Integer);
    procedure SaveControlBar(Index: Integer);
    procedure SaveListBoxControl(Index: Integer);
    procedure SaveCheckListBoxControl(Index: Integer);
    procedure SaveComboBoxControl(Index: Integer);
    procedure SaveEditControl(Index: Integer);
    procedure SaveMemoControl(Index: Integer);
    procedure SaveScrollBarControl(Index: Integer);
    procedure SaveSpinEditControl(Index: Integer);
    procedure SaveScrollBoxControl(Index: Integer);
    procedure SaveTreeViewControl(Index: Integer);
    procedure SaveListViewControl(Index: Integer);
    procedure SaveRichEditControl(Index: Integer);
    procedure SaveBevelControl(Index: Integer);

    procedure LoadObjectList;
    procedure LoadObject(Index: Integer);
    procedure SaveObject(Index: Integer);
    procedure LoadAnimate(Index: Integer);
    procedure SaveAnimate(Index: Integer);
    procedure DefLoadObject(Index: Integer);
    procedure DefSaveObject(Index: Integer);
    procedure LoadMainMenuItem(Index: Integer);
    procedure LoadMainMenuBarItem(Index: Integer);
    procedure SaveMainMenuItem(Index: Integer);
    procedure SaveMainMenuBarItem(Index: Integer);
    procedure LoadMenuItem(Index: Integer);
    procedure SaveMenuItem(Index: Integer);
    procedure LoadStdButton(Index: Integer);
    procedure LoadMainMenuBarButton(Index: Integer);
    procedure SaveStdButton(Index: Integer);
    procedure SaveMainMenuBarButton(Index: Integer);
    procedure LoadButton(Index: Integer);
    procedure SaveButton(Index: Integer);
    procedure LoadCaption(Index: Integer);
    procedure SaveCaption(Index: Integer);
  public
    { Public declarations }
    TempImage: TBitMap;
    Changing: Boolean;
    procedure AddObject(Index: Integer; AName: String);
    procedure AddControl(Index: Integer; AName: String);
  end;

var
  SBForm: TSBForm;

implementation

uses IndexEditor, FSDlg,  AddObjDlg, addctrldlg, bsUtils, SelectColor;

{$R *.DFM}

function GetInActiveEffect(S: String): TbsInActiveEffect;
begin
  if S = 'iebrightness'
  then Result := ieBrightness
  else
  if S = 'iedarkness'
  then Result := ieDarkness
  else
  if S = 'iegrayscale'
  then Result := ieGrayScale
  else
  if S = 'ienoise'
  then Result := ieNoise
  else
  if S = 'iesplitblur'
  then Result := ieSplitBlur
  else Result := ieInvert;
end;

function GetMorphKind(S: String): TbsMorphKind;
begin
  if S = 'mkdefault'
  then Result := mkDefault
  else
  if S = 'mkgradient'
  then Result := mkGradient
  else
  if S = 'mkleftgradient'
  then Result := mkLeftGradient
  else
  if S = 'mkrightgradient'
  then Result := mkRightGradient
  else
  if S = 'mkleftslide'
  then Result := mkLeftSlide
  else
  if S = 'mkrightslide'
  then Result := mkRightSlide
  else
    Result := mkPush;
end;

function GetStretchType(S: String): TbsStretchType;
begin
  if S = 'stfull'
  then Result := bsstFull
  else
  if S = 'stvert'
  then Result := bsstVert
  else
    Result := bsstHorz;
end;

function SetStretchType(ST: TbsStretchType): String;
begin
  case ST of
    bsstFull: Result := 'stfull';
    bsstHorz: Result := 'sthorz';
    bsstVert: Result := 'stvert';
  end;
end;

function SetInActiveEffect(IE: TbsInActiveEffect): String;
begin
  case IE of
    ieBrightness: Result := 'iebrightness';
    ieDarkness: Result := 'iedarkness';
    ieGrayScale: Result := 'iegrayscale';
    ieNoise: Result := 'ienoise';
    ieSplitBlur: Result := 'iesplitblur';
    ieInvert: Result := 'ieinvert';
  end;
end;

function SetMorphKind(MK: TbsMorphKind): String;
begin
  case MK of
    mkDefault: Result := 'mkdefault';
    mkGradient: Result := 'mkgradient';
    mkLeftGradient: Result := 'mkleftgradient';
    mkRightGradient: Result := 'mkrightgradient';
    mkLeftSlide: Result := 'mkleftslide';
    mkRightSlide: Result := 'mkrightslide';
    mkPush: Result := 'mkpush';
  end;
end;

function GetStdCommand(S: String): TbsStdCommand;
begin
  if S = 'cmdefault' then Result := cmDefault else
  if S = 'cmminimize' then Result := cmMinimize else
  if S = 'cmmaximize' then Result := cmMaximize else
  if S = 'cmclose' then Result := cmClose else
  if S = 'cmsysmenu' then Result := cmSysMenu else
  if S = 'cmrollup' then Result := cmRollUp else
  Result := cmMinimizeToTray;
end;

function SetStdCommand(C: TbsStdCommand): String;
begin
  if C = cmdefault then Result := 'cmdefault' else
  if C = cmMinimize then Result := 'cmminimize' else
  if C = cmMaximize then Result := 'cmmaximize' else
  if C = cmClose then Result := 'cmclose' else
  if C = cmSysMenu then Result := 'cmsysmenu' else
  if C = cmRollUp then Result := 'cmrollup' else
  Result := 'minimizetotray';
end;

procedure TSBForm.ApplyChanges;
begin
  case SectionList.ItemIndex  of
    0: SaveVersionSection;
    1: SavePicturesSection;
    2: SaveFormInfoSection;
    3: SavePWSection;
    4: SaveHWSection;
    5: SaveObject(Names.ItemIndex);
    6: SaveControl(Names.ItemIndex);
    7: SaveColorsSection;
  end;
end;

procedure TSBForm.AddControl;
begin
  if (Index > 1) and (AName = '') then Exit;
  if Names.Items.IndexOf(AName) <> -1 then Exit;
  with SkinData.CtrlList do
    case Index of
      0: Add(TbsDataSkinMainMenuBar.Create(AName));
      1: Add(TbsDataSkinButtonControl.Create(AName));
      2: Add(TbsDataSkinCheckRadioControl.Create(AName));
      3: Add(TbsDataSkinGaugeControl.Create(AName));
      4: Add(TbsDataSkinTrackBarControl.Create(AName));
      5: Add(TbsDataSkinLabelControl.Create(AName));
      6: Add(TbsDataSkinGridControl.Create(AName));
      7: Add(TbsDataSkinTabControl.Create(AName));
      8: Add(TbsDataSkinEditControl.Create(AName));
      9: Add(TbsDataSkinMemoControl.Create(AName));
      10: Add(TbsDataSkinScrollBarControl.Create(AName));

⌨️ 快捷键说明

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