📄 spreg.pas
字号:
function TspSetPagesProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;
function TspSetPagesProperty.GetValue: string;
begin
Result := '(Pages)';
end;
procedure TspSetPagesProperty.SetValue(const Value: string);
begin
if Value = '' then SetOrdValue(0);
end;
{ Registration }
resourcestring
sNEW_PAGE = 'New page';
sDEL_PAGE = 'Delete page';
sNEW_STATUSPANEL = 'New panel';
sNEW_STATUSGAUGE = 'New gauge';
sNEW_STATUSEDIT = 'New edit';
sNEW_STATUSBUTTONEDIT = 'New edit with button';
sNEW_STATUSCOMBOBOX = 'New combobox';
sNEW_STATUSSPINEDIT = 'New spinedit';
sNEW_TOOLBUTTON = 'New button';
sNEW_TOOLMENUBUTTON = 'New button with tracking menu';
sNEW_TOOLMENUTRACKBUTTON = 'New button with chevron and tracking menu';
sNEW_TOOLSEPARATOR = 'New separator';
sNEW_TOOLCOMBOBOX = 'New combobox';
sNEW_TOOLEDIT = 'New edit';
sNEW_TOOLBUTTONEDIT = 'New edit with button';
sNEW_TOOLSPINEDIT = 'New spinedit';
sNEW_TOOLNUMERICEDIT = 'New numeric edit';
sNEW_TOOLFONTCOMBOBOX = 'New font combobox';
sNEW_TOOLFONTSIZECOMBOBOX = 'New font size combobox';
sNEW_TOOLMENUCOLORBUTTON = 'New color button';
sNEW_TOOLMENUCOLORTRACKBUTTON = 'New color button with chevron';
procedure Register;
begin
RegisterComponents('Skin Pack', [TspDynamicSkinForm, TspSkinFrame,
TspSkinData, TspCompressedStoredSkin, TspCompressedSkinList,
TspResourceStrData,
TspSkinMainMenuBar, TspSkinMDITabsBar, TspSkinPopupMenu,
TspSkinImagesMenu,
TspSkinMainMenu, TspTrayIcon, TspSkinHint, TspSkinZip, TspSkinUnZip,
TspSkinScrollBar,
TspSkinCheckRadioBox, TspSkinButton, TspSkinMenuButton,
TspSkinSpeedButton, TspSkinMenuSpeedButton, TspSkinColorButton,
TspSkinXFormButton,
TspSkinUpDown,
TspSkinStdLabel, TspSkinLabel, TspSkinBitLabel, TspSkinTextLabel,
TspSkinLinkLabel, TspSkinWaveLabel, TspSkinShadowLabel,
TspSkinLinkImage, TspSkinButtonLabel, TspSkinBevel,
TspSkinSplitter, TspSkinSplitterEx,
TspSkinListBox, TspSkinComboBox, TspSkinMRUComboBox, TspSkinComboBoxEx,
TspSkinColorComboBox, TspSkinColorListBox,
TspSkinFontComboBox, TspSkinFontListBox,
TspSkinFontSizeComboBox,
TspSkinEdit, TspSkinMaskEdit,
TspSkinPasswordEdit, TspSkinNumericEdit, TspSkinMonthCalendar,
TspSkinDateEdit, TspSkinTimeEdit,
TspSkinTrackEdit, TspSkinURLEdit,
TspSkinMemo, TspSkinMemo2, TspSkinRichEdit,
TspSkinSpinEdit, TspSkinCheckListBox, TspSkinCheckComboBox,
TspSkinPanel, TspSkinGroupBox, TspSkinExPanel, TspSkinScrollPanel,
TspSkinPaintPanel,
TspSkinRadioGroup, TspSkinCheckGroup,
TspSkinControlBar, TspSkinCoolBar,
TspSkinToolBar, TspSkinStatusBar, TspSkinStatusPanel,
TspSkinButtonsBar, TspSkinNoteBook, TspSkinScrollBox, TspSkinHeaderControl,
TspSkinPageControl, TspSkinTabControl,
TspSkinListView, TspSkinTreeView, TspSkinDrawGrid, TspSkinStringGrid,
TspSkinTrackBar, TspSkinSlider, TspSkinGauge, TspSkinAnimateGauge,
TspSkinFrameRegulator, TspSkinFrameGauge,
TspSkinAnimate, TspSkinSwitch,
TspSkinFileListView, TspSkinDirTreeView, TspSkinShellDriveComboBox,
TspSkinShellComboBox,
TspSkinDriveComboBox, TspSkinFilterComboBox,
TspSkinDirectoryListBox, TspSkinFileListBox,
TspSkinDirectoryEdit, TspSkinFileEdit, TspSkinSaveFileEdit,
TspSkinColorGrid,
TspSkinCategoryButtons, TspSkinButtonGroup]);
RegisterComponents('Skin Pack Dialogs', [TspSkinMessage, TspSkinSelectDirectoryDialog,
TspOpenSkinDialog, TspSelectSkinDialog, TspSelectSkinsFromFoldersDialog,
TspSkinOpenDialog, TspSkinSaveDialog,
TspSkinOpenPictureDialog, TspSkinSavePictureDialog, TspSkinFontDialog,
TspSkinInputDialog, TspSkinPasswordDialog, TspSkinConfirmDialog,
TspSkinProgressDialog, TspSkinTextDialog,
TspSkinColorDialog, TspSkinSelectValueDialog,
TspSkinPrintDialog, TspSkinPrinterSetupDialog, TspSkinSmallPrintDialog,
TspSkinPageSetupDialog,
TspSkinFindDialog, TspSkinReplaceDialog,
TspSkinOpenPreviewDialog, TspSkinSavePreviewDialog,
TspSkinOpenSoundDialog, TspSkinSaveSoundDialog]);
RegisterClass(TspSkinTabSheet);
RegisterComponents('Skin Pack Graphics',
[TspSkinGradientStyleButton, TspSkinBrushStyleButton,
TspSkinPenStyleButton, TspSkinPenWidthButton,
TspSkinBrushColorButton, TspSkinTextColorButton,
TspSkinShadowStyleButton]);
RegisterPropertyEditor(TypeInfo(string), TspCompressedStoredSkin, 'FileName', TspFilenameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinListItem, 'FileName', TspFilenameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinListItem, 'CompressedFileName', TspFilenameProperty);
RegisterPropertyEditor(TypeInfo(string), TspCompressedStoredSkin, 'CompressedFileName', TspFilenameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinListView, 'HeaderSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinOpenDialog, 'LVHeaderSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSaveDialog, 'LVHeaderSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinOpenPictureDialog, 'LVHeaderSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSavePictureDialog, 'LVHeaderSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinButton, 'SkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinCategoryButtons, 'ButtonsSkinDataName', TspCategoryButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinCategoryButtons, 'CategorySkinDataName', TspCategorySkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinButtonGroup, 'ButtonsSkinDataName', TspCategoryButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinEdit, 'SkinDataName', TspEditSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSpinEdit, 'SkinDataName', TspSpinEditSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinButtonsBar, 'SectionButtonSkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinHeaderControl, 'SkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinGauge, 'SkinDataName', TspGaugeSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinMenuButton, 'SkinDataName', TspMenuButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSpeedButton, 'SkinDataName', TspButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinMenuSpeedButton, 'SkinDataName', TspMenuButtonSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinPanel, 'SkinDataName', TspPanelSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinToolBar, 'SkinDataName', TspToolBarSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinListBox, 'SkinDataName', TspListBoxSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinCheckListBox, 'SkinDataName', TspCheckListBoxSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSplitter, 'SkinDataName', TspSplitterSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinSplitterEx, 'SkinDataName', TspSplitterSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinComboBox, 'SkinDataName', TspComboBoxSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(TStrings), TspSkinNoteBook, 'Pages', TspSetPagesProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinMonthCalendar, 'SkinDataName', TspCalendarSkinDataNameProperty);
RegisterPropertyEditor(TypeInfo(string), TspSkinDateEdit, 'CalendarSkinDataName', TspCalendarSkinDataNameProperty);
RegisterComponentEditor(TspSkinPageControl, TspSkinPageControlEditor);
RegisterComponentEditor(TspSkinTabSheet, TspSkinPageControlEditor);
RegisterComponentEditor(TspSkinStatusBar, TspSkinStatusBarEditor);
RegisterComponentEditor(TspSkinToolBar, TspSkinToolBarEditor);
//
RegisterPropertyEditor(TypeInfo(TRoot), TspSkinDirTreeView, 'Root', TspRootProperty);
RegisterPropertyEditor(TypeInfo(TRoot), TspSkinFileListView, 'Root', TspRootProperty);
RegisterPropertyEditor(TypeInfo(TRoot), TspSkinShellComboBox, 'Root', TspRootProperty);
RegisterComponentEditor(TspSkinDirTreeView, TspRootEditor);
RegisterComponentEditor(TspSkinFileListView, TspRootEditor);
RegisterComponentEditor(TspSkinShellComboBox, TspRootEditor);
//
end;
function TspSkinPageControlEditor.GetVerb(Index: Integer): string;
begin
case Index of
0: result := sNEW_PAGE;
1: result := sDEL_PAGE;
end;
end;
procedure TspSkinPageControlEditor.ExecuteVerb(Index: Integer);
var
NewPage: TspSkinCustomTabSheet;
PControl : TspSkinPageControl;
begin
if Component is TspSkinPageControl then
PControl := TspSkinPageControl(Component)
else PControl := TspSkinPageControl(TspSkinTabSheet(Component).PageControl);
case Index of
0: begin
NewPage := TspSkinTabSheet.Create(Designer.GetRoot);
with NewPage do
begin
Parent := PControl;
PageControl := PControl;
Name := Designer.UniqueName(ClassName);
Caption := Name;
end;
end;
1: begin
with PControl do
begin
NewPage := TspSkinCustomTabSheet(ActivePage);
NewPage.PageControl := nil;
NewPage.Free;
end;
end;
end;
if Designer <> nil then Designer.Modified;
end;
function TspSkinPageControlEditor.GetVerbCount: Integer;
begin
Result := 2;
end;
procedure TspSkinStatusBarEditor.ExecuteVerb(Index: Integer);
var
NewPanel: TspSkinStatusPanel;
NewGauge: TspSkinGauge;
NewEdit: TspSkinEdit;
NewSpinEdit: TspSkinSpinEdit;
NewComboBox: TspSkinComboBox;
PControl : TspSkinStatusBar;
begin
if Component is TspSkinStatusBar
then
PControl := TspSkinStatusBar(Component)
else
Exit;
case Index of
0: begin
NewPanel := TspSkinStatusPanel.Create(Designer.GetRoot);
with NewPanel do
begin
Left := PControl.Width;
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewPanel);
end;
end;
1: begin
NewGauge := TspSkinGauge.Create(Designer.GetRoot);
with NewGauge do
begin
Left := PControl.Width;
SkinDataName := 'statusgauge';
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewGauge);
end;
end;
2:
begin
NewEdit := TspSkinEdit.Create(Designer.GetRoot);
with NewEdit do
begin
Left := PControl.Width;
SkinDataName := 'statusedit';
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewEdit);
end;
end;
3:
begin
NewEdit := TspSkinEdit.Create(Designer.GetRoot);
with NewEdit do
begin
ButtonMode := True;
Left := PControl.Width;
SkinDataName := 'statusbuttonedit';
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewEdit);
end;
end;
4:
begin
NewSpinEdit := TspSkinSpinEdit.Create(Designer.GetRoot);
with NewSpinEdit do
begin
Left := PControl.Width;
SkinDataName := 'statusspinedit';
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewEdit);
end;
end;
5:
begin
NewComboBox := TspSkinComboBox.Create(Designer.GetRoot);
with NewComboBox do
begin
Left := PControl.Width;
SkinDataName := 'statuscombobox';
Parent := PControl;
Align := alLeft;
Name := Designer.UniqueName(ClassName);
SkinData := PControl.SkinData;
Designer.SelectComponent(NewEdit);
end;
end;
end;
if Designer <> nil then Designer.Modified;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -