亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sstyleedits.pas

?? AlphaControls是一個Delphi標準控件的集合
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
unit sStyleEdits;
{$I sDefs.inc}

interface

uses
  windows, Graphics, Classes, Controls,
  {$IFNDEF ALITE}
  sEditorsManager,
  {$ENDIF}
  {$IFDEF USEDB}db, {$ENDIF}
  sUtils, SysUtils, StdCtrls, sStyleSimply, sDefaults,
  Dialogs, Forms, Messages, sConst, extctrls, IniFiles, sSkinManager;

type
{$IFDEF USEDB}
  TsAllowing = class;                  
{$ENDIF}
  TsStyle = class;
  TsCustomStyle = class;
  TsEditorStyle = class;
//  TsEditEffects = class;
  // Type for sEdits borders painting
  TsEditorBorder = class(TPersistent)
  protected
    FOwner : TPersistent;
    procedure SetWidth(const Value: integer);
  public
    FWidth: integer;
    FBevel: TsEditorBevel;
    constructor Create(AOwner: TPersistent); dynamic;
  published
    property Width : integer read FWidth write SetWidth default 2;
    property Bevel : TsEditorBevel read FBevel write FBevel default ebAsBottomBorder;
  end;

  // Type for selected sEdits painting
  TsEditorSelection = class(TPersistent)
  protected
    FMode : TModeSelection;
    FOwner : TPersistent;
    procedure SetMode(const Value: TModeSelection);
    procedure SetColor(const Value: TColor);
  public
    FColor: TColor;
    { @EXCLUDE}
    FBorder : TsEditorBorder;
    { @EXCLUDE}
    constructor Create(AOwner: TPersistent); 
    { @EXCLUDE}
    destructor destroy; override;
  published
    // @Link(TsEditorBorder). Border properties for selected sEdits
    property Border : TsEditorBorder read FBorder write FBorder;
    property Color: TColor read FColor write SetColor default clWindow;
    // Mode for control selection - (msBorder, msColor)
    property Mode : TModeSelection read FMode write SetMode default [msBorder, msColor];
  end;

  TsPainting = class(TPersistent)
  private
    FParentColor : boolean;
    FOwner : TsEditorStyle;
    procedure SetColors (Index: Integer; Value: TColor);
    procedure SetParentColor (Value: Boolean);
    procedure SetBevel(const Value: TsEditorBevel);
    procedure SetBevelWidth(const Value: integer);
  public
    FColor : TColor;
    FColorBorderTop : TColor;
    FColorBorderBottom : TColor;
    FBevel : TsEditorBevel;
    FBevelWidth : integer;
    constructor Create(AOwner : TsEditorStyle);
    property BevelWidth : integer read FBevelWidth write SetBevelWidth;
  published
    property Bevel : TsEditorBevel read FBevel write SetBevel default ebAsBottomBorder;
    property ColorBorderTop: TColor index 0 read FColorBorderTop write SetColors default clWhite;
    property ColorBorderBottom: TColor index 1 read FColorBorderBottom write SetColors default DefaultColorBottomBorder;
    property Color: TColor index 3 read FColor write SetColors default DefaultColor;
    property ParentColor: Boolean read FParentColor write SetParentColor default False;
  end;

{$IFDEF USEDB}
  TsData = class(TPersistent)
  private
    FAllowing : TsAllowing;
    FComment : string;
    FField : TField;
    FIsNumber : boolean;
    FOwner : TsStyle;
    procedure SetField(Value : TField);
  public
    constructor Create(AOwner : TsStyle);
    destructor Destroy; override;
  published
    property Allowing: TsAllowing read FAllowing write FAllowing;
    property Comment:string read FComment write FComment;
    property Field: TField read FField write SetField;
    property IsNumber:boolean read FIsNumber write FIsNumber;
  end;
{$ENDIF}


  TsStyleCaption = class(TPersistent)
  private
    FFont : TFont;
    FOwner : TsCustomStyle;
    FText : string;
    FActive : boolean;
    FMaxWidth : integer;
    FLayout : TsCaptionLayout;
    procedure SetText(const Value: string);
    procedure SetActive(const Value: boolean);
    procedure SetFont(const Value: TFont);
    procedure SetMaxWidth(const Value: integer);
    procedure SetLayout(const Value: TsCaptionLayout);
  public
    constructor Create(AOwner : TPersistent);
    destructor Destroy; override;
  published
    property Layout : TsCaptionLayout read FLayout write SetLayout;
    property MaxWidth: integer read FMaxWidth write SetMaxWidth;
    property Font: TFont read FFont write SetFont;
    property Text: string read FText write SetText;
    property Active: boolean read FActive write SetActive;
  end;

{$IFDEF USEDB}
  TsAllowing = class(TPersistent)
  private
    FInsert   : boolean;
    FUpdate   : boolean;
    FAutoInit : boolean;
    FOwner : TsStyle;
    procedure SetInsert(const Value: boolean);
    procedure SetUpdate(const Value: boolean);
  public
    constructor Create(AOwner : TsStyle);
  published
    property Insert: boolean read FInsert write SetInsert default True;
    property Update: boolean read FUpdate write SetUpdate default True;
    property AutoInit: boolean read FAutoInit write FAutoInit default True;
  end;
{$ENDIF}

  TsEditorStyle = class(TsGenStyle)
  private
    FSelection: TsEditorSelection;
//    FEditEffects: TsEditEffects;
  protected
    FPainting : TsPainting;
  public
    FBorderWidth : integer;
    {$IFNDEF ALITE}
    sC : TsEditorsManager;
    {$ENDIF}
    constructor Create(AOwner : TControl); override;
    destructor Destroy; override;
    function GetActiveColor : TColor;

    procedure WndProc(var Message: TMessage); override;
    procedure sStyleMessage(var Message: TMessage); //override;
    procedure PaintBorder(DC : hWnd; aRect : TsRect);
    procedure RedrawBorder;
    procedure PaintShadow(aCanvas: TCanvas; X, Y : integer); override;
    function GetSelBorder: TsEditorBorder;
    function GetSelMode: TModeSelection;
    procedure CreateRgn; override;
  published
    property Painting: TsPainting read FPainting write FPainting;
    property Selection : TsEditorSelection read FSelection write FSelection;
  end;

  TsCustomStyle = class(TsEditorStyle)
  private
    FTheLabel : TCustomControl;
  protected
{$IFDEF USEDB}
    FDefaultString : string;
    FEditable : boolean;
{$ENDIF}
    FKeysNextControl : string;
    FKeysPrevControl : string;

    FCaption : TsStyleCaption;
    LastControl : boolean;
  public
    procedure AlignLabel;
    constructor Create(AOwner : TControl); override;
    destructor Destroy; override;
    procedure WndProc(var Message: TMessage); override;
    procedure sStyleMessage(var Message: TMessage); //override;
    procedure onKeyDown(Sender:TObject; var Key: Word; Shift: TShiftState);
  published
    property Caption: TsStyleCaption read FCaption write FCaption;
    property KeysNextControl:string read FKeysNextControl write FKeysNextControl;
    property KeysPrevControl:string read FKeysPrevControl write FKeysPrevControl;
{$IFDEF USEDB}
    property DefaultString:string read FDefaultString write FDefaultString;
    property Editable:boolean read FEditable write FEditable;
{$ENDIF}
  end;

  TsStyle = class(TsCustomStyle)
  protected
{$IFDEF USEDB}
    FData : TsData;
{$ENDIF}
  public
    constructor Create(AOwner : TControl); override;
    destructor Destroy; override;
    procedure WndProc(var Message: TMessage); override;
    procedure sStyleMessage(var Message: TMessage); //override;
  published
{$IFDEF USEDB}
    property Data: TsData read FData write FData;
{$ENDIF}
  end;

  TsStyleDB=class(TsCustomStyle)
  protected
  public
    procedure WndProc(var Message: TMessage); override;
    procedure sStyleMessage(var Message: TMessage); //override;
  published
  end;

{$IFDEF USEDB}
function StyleIsActive(sStyle : TsCustomStyle) : boolean;
function GetInsertText(Panel : TWinControl; KeyName, KeyValue : string) : string;
function GetUpdateText(Panel : TWinControl) : string;
procedure InitsEdits(Panel : TWinControl);
{$ENDIF}
// Draws stylish rectangle on DC by style @link(TsBorderStyle)
procedure BeveledBorder(DC: HDC; ColorTop, ColorBottom, Color: TColor; aRect: TRect; Width : integer; Bevel: TsEditorBevel; Soft : boolean);

var
  CChanged : boolean = False;

implementation

uses
  {$IFNDEF ALITE}
    sEdit, sComboEdit, sRadioButton, sCustomComboEdit, sToolEdit,
    sMemo, sCurrencyEdit, sCustomComboBox, sStoreUtils, sShowMessages,
    sPageControl, sCustomListBox,
  {$IFDEF USEDBAWARE}
    sDBMemo,
  {$ENDIF}
  {$ENDIF}
  sCheckBox, {sPanel,} sCheckedControl,
  sGraphUtils, sVclUtils, sMessages, sMaskData,
  sCustomLabel, comctrls, sBorders, sSkinProps;


{$IFDEF USEDB}

function StyleIsActive(sStyle : TsCustomStyle) : boolean;
begin
  if sStyle is TsStyle then
     Result := Assigned(sStyle)
      and Assigned(TsStyle(sStyle).Data.Field)
  else if sStyle is TsStyleDB then
     Result := Assigned(sStyle) and True{Assigned(TDBEdit(sStyle.FOwner).DataSource)  and (TDBEdit(sStyle.FOwner).DataField <> '')}
  else Result := False;
end;

procedure InitsEdits(Panel : TWinControl);
var
  List : TList;
  i : integer;
  mStyle : TsStyle;
begin
  List := TList.Create;
  Panel.GetTabOrderList(List);
  if List.Count>0 then begin
    for i:=0 to List.Count-1 do begin
      if (GetStyleInfo(List[i]) = tos_SSTYLE) then begin
        mStyle := TsStyle(GetsStyle(TWinControl(List[i])));

        if (TWinControl(List[i]) is TsCustomComboBox) and (TsCustomComboBox(List[i]).sStyle.Data.Allowing.AutoInit) then begin
          TsCustomComboBox(List[i]).Active := True;
        end;

        if StyleIsActive(mStyle) and mStyle.Data.Allowing.AutoInit then begin

          if Between(GetsStyle(List[i]).COC, COC_TsEdit, COC_TsMemo) then begin
            if TWinControl(List[i]) is TsMemo then
              TsMemo(List[i]).Text := mStyle.Data.Field.AsString
            else
              TsEdit(List[i]).Text := mStyle.Data.Field.AsString;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCustomComboEdit, COC_TsComboEdit) then begin
            TsCustomComboEdit(List[i]).Text := mStyle.Data.Field.AsString
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCustomComboBox, COC_TsBDEComboBox) then begin
            if TsCustomComboBox(List[i]).Items.Count > 0 then begin
              if mStyle.Data.IsNumber then begin
                if TsCustomComboBox(List[i]).CharsInCode > 0 then begin
                  TsCustomComboBox(List[i]).ItemIndex := TsCustomComboBox(List[i]).IndexOfKod(mStyle.Data.Field.AsString);
                end
                else if TsCustomComboBox(List[i]).UseItemIndex then begin
                  TsCustomComboBox(List[i]).ItemIndex := mStyle.Data.Field.asInteger;
                end
                else begin
                  TsCustomComboBox(List[i]).ItemIndex := TsCustomComboBox(List[i]).Items.IndexOf(mStyle.Data.Field.asString);
                end;
              end
              else begin
                  TsCustomComboBox(List[i]).ItemIndex := TsCustomComboBox(List[i]).Items.IndexOf(mStyle.Data.Field.asString);
              end;
            end;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsDateEdit, COC_TsDateEdit) then begin
            if mStyle.Data.Field.asString='' then begin
              TsDateEdit(List[i]).Date := Date;
              TsDateEdit(List[i]).Text := '  .  .    ';
            end
            else begin
              TsDateEdit(List[i]).Date := mStyle.Data.Field.asDateTime;
            end;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCheckedControl, COC_TsRadioButton) then begin
            TsCheckedControl(List[i]).Checked := mStyle.Data.Field.AsInteger = 1;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCurrencyEdit, COC_TsCurrencyEdit) then begin
            TsCurrencyEdit(List[i]).Text := mStyle.Data.Field.AsString;
          end;
        end;
      end;
    end;
  end;
  List.Free;
end;

function GetInsertText(Panel : TWinControl; KeyName, KeyValue : string) : string;
var
  List : TList;
  i : integer;
  s1, s2 : string;
  mStyle : TsStyle;
begin
  List := TList.Create;
  Panel.GetTabOrderList(List);
  if List.Count>0 then begin
    s1 := KeyName;
    s2 := KeyValue;
    for i:=0 to List.Count-1 do begin
      if (GetStyleInfo(List[i]) = 5) then begin
        mStyle := TsStyle(GetsStyle(TWinControl(List[i])));
        if StyleIsActive(mStyle) and mStyle.Data.Allowing.Insert and TControl(List[i]).Enabled then begin
          s1 := iff((s1 = ''), mStyle.Data.Field.FieldName, s1 + ', ' + mStyle.Data.Field.FieldName);
          s2 := iff((s2 = ''), '', s2 + ', ');

          if Between(GetsStyle(List[i]).COC, COC_TsEdit, COC_TsMemo) then begin
            if TWinControl(List[i]) is TsMemo then
              s2 := s2 + iff(mStyle.Data.IsNumber, '0' + TsMemo(List[i]).Text, '''' + CorrectString(TsMemo(List[i]).Text) + '''')
            else begin
//              ShowWarning(TsEdit(List[i]).Name + ' - ' + mStyle.Data.Field.FieldName);
              s2 := s2 + iff(mStyle.Data.IsNumber, '0' + TsEdit(List[i]).Text, '''' + CorrectString(TsEdit(List[i]).Text) + '''');
            end;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCustomComboBox, COC_TsBDEComboBox) then begin
            if mStyle.Data.IsNumber then begin 
              if TsCustomComboBox(List[i]).CharsInCode > 0 then begin
                s2 := s2 + IntToStr(TsCustomComboBox(List[i]).GetCurrentKod);
              end
              else if TsComboBox(List[i]).UseItemIndex then begin
                s2 := s2 + IntToStr(TsCustomComboBox(List[i]).ItemIndex);
              end
              else begin
                s2 := s2 + '''' + CorrectString(TsCustomComboBox(List[i]).Text) + '''';
              end;
            end
            else begin
              s2 := s2 + '''' + CorrectString(TsCustomComboBox(List[i]).Text) + '''';
            end;
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsDateEdit, COC_TsDateEdit) then begin
            s2 := s2 + iff(TsDateEdit(List[i]).Text='  .  .    ', 'NULL', '''' + TsDateEdit(List[i]).Text + '''');
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCheckedControl, COC_TsRadioButton) then begin
            s2 := s2 + iff(TsCheckedControl(List[i]).Checked, '1', '0');
          end else

          if Between(GetsStyle(List[i]).COC, COC_TsCurrencyEdit, COC_TsCurrencyEdit) then begin
            s2 := s2 + iff(mStyle.Data.IsNumber, '0' + FloatToStr(TsCurrencyEdit(List[i]).Value), '''' + TsCurrencyEdit(List[i]).Text + '''');
          end else

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产欧美一区二区| 欧美日韩国产一二三| 欧美一区二区免费视频| 国产精品女主播av| 日韩二区三区在线观看| 99九九99九九九视频精品| 日韩天堂在线观看| 亚洲综合免费观看高清在线观看| 国产乱妇无码大片在线观看| 欧美日韩亚洲综合一区二区三区| 国产精品欧美一级免费| 国内精品免费在线观看| 欧美精品一二三| 亚洲女同一区二区| 国产91精品在线观看| 日韩免费高清视频| 肉肉av福利一精品导航| 91成人看片片| 国产精品理论片| 成人午夜av电影| 久久这里只有精品6| 蜜臂av日日欢夜夜爽一区| 色悠久久久久综合欧美99| 国产精品久久免费看| 国产精品资源站在线| 日韩美女视频一区二区在线观看| 亚欧色一区w666天堂| 在线免费观看日本一区| 18成人在线视频| 不卡一区在线观看| 国产精品久久综合| 成人av先锋影音| 国产精品污www在线观看| 国产jizzjizz一区二区| 国产日韩一级二级三级| 国产成人免费在线视频| 国产人伦精品一区二区| 国产精品一区二区视频| 久久久av毛片精品| 国产精品99久久久久久似苏梦涵 | 欧美精品 国产精品| 一区二区三区欧美在线观看| 91色乱码一区二区三区| 亚洲欧洲无码一区二区三区| 成人午夜电影小说| 国产精品人妖ts系列视频| 成人av电影观看| 国产精品免费看片| av中文字幕一区| 亚洲日本一区二区| 91成人免费在线| 午夜激情久久久| 欧美一区二区成人| 久久福利资源站| 精品福利在线导航| 国产成人精品亚洲午夜麻豆| 国产精品欧美久久久久无广告| 成人丝袜高跟foot| 亚洲三级免费观看| 在线观看欧美日本| 日韩黄色一级片| 欧美成人a视频| 国产成人免费视频网站| 亚洲欧洲在线观看av| 欧美性高清videossexo| 日本系列欧美系列| 久久久精品日韩欧美| av在线这里只有精品| 亚洲综合在线五月| 制服丝袜中文字幕亚洲| 国产乱一区二区| 成人欧美一区二区三区白人| 日本高清不卡aⅴ免费网站| 偷拍自拍另类欧美| 2020国产精品自拍| 96av麻豆蜜桃一区二区| 午夜精品在线看| 久久色视频免费观看| 99久久精品国产一区二区三区 | 久久蜜桃av一区二区天堂 | 麻豆精品精品国产自在97香蕉| 久久综合久久鬼色中文字| 成人国产亚洲欧美成人综合网| 亚洲麻豆国产自偷在线| 欧美一区二区三区四区视频| 国产精品夜夜嗨| 一区二区三区精品| 日韩精品专区在线| 99re8在线精品视频免费播放| 亚洲国产乱码最新视频| 久久色中文字幕| 欧美在线免费观看亚洲| 激情综合色综合久久| 亚洲欧美日本在线| 日韩欧美国产三级| 91免费小视频| 精品在线一区二区| 亚洲精品成a人| 26uuu亚洲综合色欧美| 色综合久久六月婷婷中文字幕| 免费的成人av| 曰韩精品一区二区| 精品国产伦一区二区三区观看体验 | 福利一区二区在线| 1024成人网色www| 91精品久久久久久久91蜜桃| 成人免费毛片aaaaa**| 日韩成人精品在线| 中文字幕在线视频一区| 欧美一卡二卡在线| 91污片在线观看| 精品影院一区二区久久久| 一区二区三区不卡在线观看| 久久久久久久久伊人| 欧美片在线播放| jizzjizzjizz欧美| 国产最新精品免费| 日本在线不卡一区| 亚洲精品va在线观看| 欧美激情综合五月色丁香小说| 欧美一级日韩不卡播放免费| 色诱亚洲精品久久久久久| 国产成人鲁色资源国产91色综| 视频在线观看91| 亚洲男女毛片无遮挡| 久久精品视频一区二区三区| 日韩视频在线观看一区二区| 色久综合一二码| 成人动漫av在线| 国产一区二区三区四区五区美女| 亚洲成人av在线电影| 亚洲欧美日韩国产综合在线| 国产日韩欧美制服另类| 欧美xxxx在线观看| 9191成人精品久久| 欧美调教femdomvk| 色综合色狠狠天天综合色| 成人晚上爱看视频| 国产成人精品免费| 国产麻豆精品在线| 国产一区三区三区| 精品在线一区二区| 精品一区二区三区香蕉蜜桃 | 日本一区二区三区在线观看| 日韩女优制服丝袜电影| 欧美一区二区在线免费播放| 欧美日韩中文一区| 欧美日韩黄色一区二区| 欧美视频在线播放| 欧美日韩夫妻久久| 欧美日韩亚州综合| 欧美日韩美女一区二区| 在线观看国产日韩| 欧美午夜电影一区| 欧美日韩精品福利| 91精品一区二区三区久久久久久| 欧美三级三级三级爽爽爽| 欧美性猛交xxxx黑人交| 欧美日韩一级二级| 337p亚洲精品色噜噜噜| 91精品婷婷国产综合久久性色| 在线不卡一区二区| 欧美一级专区免费大片| 欧美一区二区三区四区高清| 日韩一区二区精品葵司在线| 91精品国产美女浴室洗澡无遮挡| 777xxx欧美| 日韩欧美中文字幕制服| 精品国产91九色蝌蚪| 久久久久国产精品厨房| 国产欧美一二三区| 国产精品看片你懂得| 亚洲精品国产精品乱码不99 | 国产欧美精品日韩区二区麻豆天美| 久久精品一二三| 中文字幕成人av| 亚洲精品日韩一| 亚洲mv在线观看| 另类调教123区| 狠狠色狠狠色合久久伊人| 国产乱人伦偷精品视频免下载| 成人av在线电影| 欧美系列日韩一区| 欧美第一区第二区| 欧美国产精品一区| 亚洲免费观看在线观看| 视频一区国产视频| 国产一区二区精品久久| 99精品视频在线观看| 欧美欧美欧美欧美首页| 欧美大度的电影原声| 欧美韩国日本不卡| 亚洲香肠在线观看| 麻豆传媒一区二区三区| 国产盗摄一区二区三区| 91麻豆6部合集magnet| 在线播放日韩导航| 国产日韩精品一区二区浪潮av| 亚洲欧美日韩在线播放| 日韩精品久久理论片|