se_convert.pas

来自「小区水费管理系统源代码水费收费管理系统 水费收费管理系统」· PAS 代码 · 共 117 行

PAS
117
字号
{==============================================================================

  SkinEngine's Button
  Copyright (C) 2000-2002 by Evgeny Kryukov
  All rights reserved

  All conSeSkinnts of this file and all other files included in this archive
  are Copyright (C) 2002 Evgeny Kryukov. Use and/or distribution of
  them requires acceptance of the License Agreement.

  See License.txt for licence information

  $Id: se_convert.pas,v 1.6 2002/10/28 21:04:22 Evgeny Exp $

===============================================================================}

unit se_convert;

{$I se_define.inc}
{$T-,W-,X+,P+}

interface

uses
  Windows, SysUtils, Classes, Controls, Forms, Menus, StdCtrls, ExtCtrls, ComCtrls,
  se_designer, KsSkinEngine;

type

  TSeConverter = class(TSeCustomConverter)
  private
    FSkinEngine: TSeSkinEngine;
    procedure SetSkinEngine(const Value: TSeSkinEngine);
  protected
  public
    constructor Create(AOwner: TComponent); override;
    function GetClass(ClassKind: TSeClassKind): TComponentClass; override;
    procedure SetAdvancedProp(AOldObject, ANewObject: TObject); override;

    property SkinEngine: TSeSkinEngine read FSkinEngine write SetSkinEngine;
  end;

  TSeConverterClass = class of TSeConverter;

implementation {===============================================================}

uses TypInfo, KsSkinButtons, KsSkinEdits, KsSkinGroupBoxs, KsSkinCheckBoxs,
  KsSkinTrackBars, KsSkinProgress, KsSkinPanels, KsSkinScrollBars, KsSkinTabs,
  KsSkinListBoxs, KsSkinComboBoxs, KsSkinSpeedButtons, KsSkinSpinButtons,
  ksskinforms, ksskinstdcontrol, ksskinspinedit, ksskintoolbars,
  ksskincontrolbars, ksskinsplitter, ksskingrids, ksskinlabels,
  ksskinstatusbar, ksskinheader, se_controls;

{ TSeConverter }

constructor TSeConverter.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;

{ Virtual }

function TSeConverter.GetClass(ClassKind: TSeClassKind): TComponentClass;
begin
  case ClassKind of
    ckCheckBox: Result := TSeSkinCheckBox;
    ckRadioButton: Result := TSeSkinRadioButton;
    ckTrackBar: Result := TSeSkinTrackBar;
    ckGroupBox: Result := TSeSkinGroupBox;
    ckRadioGroup: Result := TSeSkinRadioGroup;
    ckScrollBar: Result := TSeSkinScrollBar;
    ckListBox: Result := TSeSkinListBox;
    ckEdit: Result := TSeSkinEdit;
    ckComboBox: Result := TSeSkinComboBox;
    ckSpeedButton: Result := TSeSkinSpeedButton;
    ckSpinButton: Result := TSeSkinSpinButton;
    ckButton: Result := TSeSkinButton;
    ckProgressBar: Result := TSeSkinProgressBar;
    ckTabControl: Result := TSeSkinTabControl;
    ckCustomForm: Result := TSeSkinForm;
    ckEngine: Result := TSeSkinEngine;
    ckMemo: Result := TSeSkinMemo;
    ckSpinEdit: Result := TSeSkinSpinEdit;
    ckSplitter: Result := TSeSkinSplitter;
    ckMaskEdit: Result := TSeSkinMaskEdit;
    ckScrollBox: Result := TSeSkinScrollBox;
    ckLabel: Result := TSeSkinLabel;
    ckStringGrid: Result := TSeSkinStringGrid;
    ckDrawGrid: Result := TSeSkinDrawGrid;
    ckToolbar: Result := TSeSkinToolbar;
    ckControlBar: Result := TSeSkinControlBar;
    ckStatusBar: Result := TSeSkinStatusBar;
    ckHeaderControl: Result := TSeSkinHeaderControl;
    ckTreeView: Result := TSeSkinSTreeView;
    ckListView: Result := TSeSkinSListView;
    ckPanel: Result := TSeSkinPanel;
  else
    Result := nil;
  end;
end;

procedure TSeConverter.SetAdvancedProp(AOldObject, ANewObject: TObject);
begin
  inherited SetAdvancedProp(AOldObject, ANewObject);

  { Set SkinEngine Property }
  if ANewObject is TComponent then
    SetPropertyIfExists(TComponent(ANewObject), 'SkinEngine', FSkinEngine);
end;

procedure TSeConverter.SetSkinEngine(const Value: TSeSkinEngine);
begin
  FSkinEngine := Value;
end;

end.

⌨️ 快捷键说明

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