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

📄 spreg.pas

📁 一款支持Delphi和C++ Builder的VCL控件
💻 PAS
📖 第 1 页 / 共 3 页
字号:

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 + -