亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产日韩欧美精品一区| 成人黄色在线网站| 午夜精品久久久久久不卡8050| 亚洲国产精品一区二区www| 日韩中文字幕区一区有砖一区| 国产精品一区二区在线播放| 成人av在线资源网| 中文字幕一区二区三| 婷婷一区二区三区| 欧美一区二区三区小说| 中文字幕不卡一区| 蜜桃传媒麻豆第一区在线观看| 本田岬高潮一区二区三区| 精品少妇一区二区| 亚洲精品国产无套在线观| 久久99国产精品尤物| 色一情一伦一子一伦一区| 欧美xxxxxxxx| 国产乱国产乱300精品| 国产精品国产三级国产aⅴ原创 | 亚洲欧美区自拍先锋| 韩国三级中文字幕hd久久精品| 欧洲一区二区三区在线| 日本一区二区在线不卡| 欧洲精品在线观看| 精品一区二区三区免费播放| 国产精品美女久久久久aⅴ国产馆| 国产真实乱对白精彩久久| 国产精品久久久久影院| 欧美探花视频资源| 一区二区高清视频在线观看| av午夜精品一区二区三区| 午夜不卡av在线| 国产蜜臀av在线一区二区三区| 欧洲中文字幕精品| 国产伦精一区二区三区| 久久蜜桃一区二区| 极品美女销魂一区二区三区免费| 欧美激情一区二区三区四区| 欧美日韩黄色一区二区| 一区二区不卡在线播放 | 久久伊99综合婷婷久久伊| 麻豆国产欧美日韩综合精品二区| 欧美国产欧美亚州国产日韩mv天天看完整| 91麻豆123| 亚洲免费视频中文字幕| 欧美不卡123| 欧美酷刑日本凌虐凌虐| 麻豆久久久久久久| 伊人婷婷欧美激情| 久久久九九九九| 日韩一区二区三区电影| 韩国理伦片一区二区三区在线播放| 一区二区三区在线视频播放| 久久九九久久九九| 99久久国产综合色|国产精品| 亚洲精品久久久久久国产精华液| 久久日韩精品一区二区五区| 欧美日韩mp4| 91国内精品野花午夜精品| 午夜欧美视频在线观看| 亚洲视频网在线直播| 欧美色图第一页| 蜜桃一区二区三区四区| 一区二区成人在线观看| 亚洲欧美怡红院| 国产精品三级av| 久久精品亚洲精品国产欧美kt∨| 日韩三级.com| 91精品国产综合久久久久久| 丰满少妇在线播放bd日韩电影| 国产精品丝袜一区| 久久精品亚洲麻豆av一区二区 | 欧美日韩综合不卡| 日本久久一区二区三区| 91欧美一区二区| 色天天综合色天天久久| 91美女片黄在线观看91美女| 91丝袜国产在线播放| 色婷婷av一区| 欧美日韩精品高清| 欧美精品99久久久**| 91精品久久久久久久久99蜜臂| 欧美欧美欧美欧美| 欧美一区二区高清| 欧美成人一区二区| 久久久久久久久97黄色工厂| 久久色在线观看| 中文字幕亚洲在| 一区二区视频免费在线观看| 亚洲妇女屁股眼交7| 青青青爽久久午夜综合久久午夜| 亚洲私人黄色宅男| 亚洲精品久久7777| 免费观看日韩电影| 国产呦精品一区二区三区网站| 国产成人丝袜美腿| 免费成人小视频| 国产精品一区二区黑丝| 成a人片国产精品| 欧美在线视频你懂得| 欧美一区二区三区不卡| 久久综合999| 亚洲视频你懂的| 丝袜亚洲精品中文字幕一区| 精品午夜久久福利影院 | 国产一区二区中文字幕| 不卡欧美aaaaa| 精品视频在线视频| 欧美变态凌虐bdsm| 亚洲欧美福利一区二区| 日韩精品乱码av一区二区| 国产一区二区三区视频在线播放| 波多野结衣视频一区| 欧美日韩一区在线观看| 国产日韩成人精品| 亚洲一区二区av电影| 国产精品第13页| 丝袜美腿亚洲综合| 成人av动漫网站| 777久久久精品| 国产精品国产自产拍高清av王其| 日本午夜精品一区二区三区电影| 亚洲一区二区在线播放相泽 | 亚洲午夜激情网站| 国产美女在线观看一区| 欧美性猛交xxxxxx富婆| 久久中文字幕电影| 日韩精品电影在线观看| av综合在线播放| 精品久久人人做人人爰| 一区二区三区四区高清精品免费观看 | 狠狠v欧美v日韩v亚洲ⅴ| 97久久精品人人做人人爽| 日韩精品一区二区三区视频在线观看| 678五月天丁香亚洲综合网| 国产日韩欧美一区二区三区乱码| 丝袜美腿高跟呻吟高潮一区| 国产91精品在线观看| 欧美刺激脚交jootjob| 一卡二卡三卡日韩欧美| zzijzzij亚洲日本少妇熟睡| 日韩精品在线网站| 亚洲一区二区三区小说| 福利视频网站一区二区三区| 日韩欧美123| 午夜精品福利久久久| 91伊人久久大香线蕉| 久久久精品日韩欧美| 麻豆一区二区在线| 欧美男男青年gay1069videost| 亚洲欧洲精品一区二区精品久久久| 精品在线视频一区| 91精品福利在线一区二区三区| 亚洲综合丝袜美腿| 色88888久久久久久影院按摩| 欧美国产日韩一二三区| 国产精品自拍av| 精品国产伦理网| 国产精品盗摄一区二区三区| 国产传媒日韩欧美成人| 久久久久久久综合| 韩国一区二区三区| 久久久亚洲国产美女国产盗摄| 蜜臀精品久久久久久蜜臀| 7777精品伊人久久久大香线蕉完整版 | 亚洲一区二区三区中文字幕| 91黄色免费版| 亚洲图片有声小说| 精品视频在线看| 午夜婷婷国产麻豆精品| 精品视频999| 丝袜亚洲精品中文字幕一区| 日韩一卡二卡三卡四卡| 久久99久久99| 久久精品夜色噜噜亚洲a∨| 国产成人日日夜夜| √…a在线天堂一区| 色妞www精品视频| 亚洲一级二级三级在线免费观看| 欧美性大战久久| 日本美女视频一区二区| 精品精品国产高清一毛片一天堂| 麻豆精品视频在线| 久久综合久久综合亚洲| 成人av第一页| 亚洲影院久久精品| 欧美一级国产精品| 国产黑丝在线一区二区三区| 国产精品国产三级国产普通话三级 | 欧美日韩久久一区| 麻豆成人综合网| 国产人伦精品一区二区| 色综合久久中文字幕| 天天综合色天天综合| 久久夜色精品国产欧美乱极品| 粉嫩久久99精品久久久久久夜| 综合亚洲深深色噜噜狠狠网站| 欧洲色大大久久| 国产美女主播视频一区|