📄 skinbuild.pas
字号:
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 + -