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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? suiedit.pas

?? 一套還不錯(cuò)的DELPHI皮膚控件!
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
        m_FileTheme := nil;
        SetUIStyle(SUI_THEME_DEFAULT);          
    end;
end;

procedure TsuiMaskEdit.SetBorderColor(const Value: TColor);
begin
    m_BorderColor := Value;
    Repaint();
end;

procedure TsuiMaskEdit.SetFileTheme(const Value: TsuiFileTheme);
begin
    m_FileTheme := Value;
    SetUIStyle(m_UIStyle);
end;

procedure TsuiMaskEdit.SetUIStyle(const Value: TsuiUIStyle);
var
    OutUIStyle : TsuiUIStyle;
begin
    m_UIStyle := Value;
    if UsingFileTheme(m_FileTheme, m_UIStyle, OutUIStyle) then
        m_BorderColor := m_FileTheme.GetColor(SUI_THEME_CONTROL_BORDER_COLOR)
    else
        m_BorderColor := GetInsideThemeColor(OutUIStyle, SUI_THEME_CONTROL_BORDER_COLOR);
    Repaint();
end;

procedure TsuiMaskEdit.WMEARSEBKGND(var Msg: TMessage);
begin
    inherited;

    DrawControlBorder(self, m_BorderColor, Color);
end;

procedure TsuiMaskEdit.WMPAINT(var Msg: TMessage);
begin
    inherited;
    DrawControlBorder(self, m_BorderColor, Color);
end;

{ TsuiNumberEdit }

procedure TsuiNumberEdit.Change;
var
    S : String;
begin
    if (Text <> '') and (Text <> '-') then
    begin
        try
            S := StringReplace(Text, ThousandSeparator, '', [rfReplaceAll]); 
            m_Value := StrToFloat(S);
        except
        on E: EConvertError do
        begin
            SetValue(Value);
            raise;
        end;
        end;
    end;
    inherited;
end;

procedure TsuiNumberEdit.Click;
begin
    inherited;
    DoEnter;
end;

procedure TsuiNumberEdit.CMTextChanged(var Message: TMessage);
begin
    inherited;
    Change();
end;

constructor TsuiNumberEdit.Create(AOwner: TComponent);
begin
    inherited;
    Mask := '0.00';
    Value := 0;
    AutoSelectSigns := 2;
end;

procedure TsuiNumberEdit.CreateParams(var Params: TCreateParams);
begin
    inherited;
    Params.Style := Params.Style + ES_RIGHT;
end;

procedure TsuiNumberEdit.DoEnter;
begin
    inherited;
    if (AutoSelectSigns > 0) and AutoSelect then
    begin
        SelStart := Length(Text) - AutoSelectSigns;
        SelLength := AutoSelectSigns;
    end;
end;

procedure TsuiNumberEdit.DoExit;
var
    S : String;
begin
    inherited;
    if (Text = '') or (Text = '-') then
        Text := '0';
    S := StringReplace(Text, ThousandSeparator, '', [rfReplaceAll]);
    SetValue(StrToFloat(S));
end;

procedure TsuiNumberEdit.KeyPress(var Key: Char);
    function AnsiContainsText(const AText, ASubText: string): Boolean;
    begin
        Result := AnsiPos(AnsiUppercase(ASubText), AnsiUppercase(AText)) > 0;
    end;
var
    IsValidKey: Boolean;
begin
    inherited;
    IsValidKey := (Key in ['0'..'9'])
        or ((AnsiContainsText(Mask, '.')
        and ((Key = DecimalSeparator)
        and not (AnsiContainsText(Text, DecimalSeparator)))))
        or (Ord(Key) = VK_BACK)
        or (AnsiContainsText(Mask, '-')
        and ((GetSelStart = 0)
        and (Key = '-'))
        and not (AnsiContainsText(Text, '-')));
    if not IsValidKey then
    begin
        Beep();
        Abort();
    end;
end;

procedure TsuiNumberEdit.SetValue(Value: Real);
begin
    m_Value := Value;
    Text := FormatFloat(m_Mask, Value);
end;

{ TsuiSpinButtons }

procedure TsuiSpinButtons.AdjustSize(var W, H: Integer);
begin
    if (m_UpButton = nil) or (csLoading in ComponentState) then
        Exit;
    if W < 15 then
        W := 15;
    m_UpButton.SetBounds(0, 0, W, H div 2 + 1);
    m_DownButton.SetBounds(0, m_UpButton.Height - 1, W, H - m_UpButton.Height + 1);
end;

procedure TsuiSpinButtons.BtnClick(Sender: TObject);
begin
    if Sender = m_UpButton then
    begin
        if Assigned(m_OnUpClick) then m_OnUpClick(Self);
    end
    else
    begin
        if Assigned(m_OnDownClick) then m_OnDownClick(Self);
    end;
end;

constructor TsuiSpinButtons.Create(AOwner: TComponent);
begin
    inherited;
    ControlStyle := ControlStyle - [csAcceptsControls, csSetCaption] +
        [csFramed, csOpaque];
    m_UpButton := CreateButton;
    m_UpButton.Arrow := suiUp;
    m_DownButton := CreateButton;
    m_DownButton.Arrow := suiDown;
    Width := 20;
    Height := 25;
end;

function TsuiSpinButtons.CreateButton: TsuiArrowButton;
begin
    Result := TsuiArrowButton.Create(Self);
    Result.TabStop := False;
    Result.OnClick := BtnClick;
    Result.OnMouseContinuouslyDown := BtnClick;
    Result.MouseContinuouslyDownInterval := 400;
    Result.Visible := True;
    Result.Enabled := True;
    Result.Parent := Self;
end;

function TsuiSpinButtons.GetFileTheme: TsuiFileTheme;
begin
    Result := nil;
    if m_UpButton <> nil then
        Result := m_UpButton.FileTheme;
end;

function TsuiSpinButtons.GetUIStyle: TsuiUIStyle;
begin
    Result := SUI_THEME_DEFAULT;
    if m_UpButton <> nil then
        Result := m_UpButton.UIStyle;
end;

procedure TsuiSpinButtons.KeyDown(var Key: Word; Shift: TShiftState);
begin
    case Key of

    VK_UP: m_UpButton.Click;
    VK_DOWN: m_DownButton.Click;

    end;
end;

procedure TsuiSpinButtons.Loaded;
var
    W, H: Integer;
begin
    inherited;
    W := Width;
    H := Height;
    AdjustSize(W, H);
    if (W <> Width) or (H <> Height) then
        inherited SetBounds(Left, Top, W, H);
end;

procedure TsuiSpinButtons.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
var
    W, H: Integer;
begin
    W := AWidth;
    H := AHeight;
    AdjustSize(W, H);
    inherited;
end;

procedure TsuiSpinButtons.SetFileTheme(const Value: TsuiFileTheme);
begin
    if m_UpButton <> nil then
        m_UpButton.FileTheme := Value;
    if m_DownButton <> nil then
        m_DownButton.FileTheme := Value;
    SetUIStyle(UIStyle);
end;

procedure TsuiSpinButtons.SetUIStyle(const Value: TsuiUIStyle);
begin
    if m_UpButton <> nil then
        m_UpButton.UIStyle := Value;
    if m_DownButton <> nil then
        m_DownButton.UIStyle := Value;
end;

procedure TsuiSpinButtons.WMSize(var Message: TWMSize);
var
    W, H: Integer;
begin
    inherited;
    { check for minimum size }
    W := Width;
    H := Height;
    AdjustSize(W, H);
    if (W <> Width) or (H <> Height) then
        inherited SetBounds(Left, Top, W, H);
    Message.Result := 0;
end;

{ TsuiSpinEdit }

function TsuiSpinEdit.CheckValue(NewValue: Integer): Integer;
begin
    Result := NewValue;
    if (m_MaxValue <> m_MinValue) then
    begin
        if NewValue < m_MinValue then
            Result := m_MinValue
        else if NewValue > m_MaxValue then
            Result := m_MaxValue;
    end;
end;

procedure TsuiSpinEdit.CMEnter(var Message: TCMGotFocus);
begin
    if AutoSelect and not (csLButtonDown in ControlState) then
        SelectAll();
    inherited;
end;

procedure TsuiSpinEdit.CMExit(var Message: TCMExit);
begin
    inherited;
    if CheckValue(Value) <> Value then
        SetValue(Value);
end;

constructor TsuiSpinEdit.Create(AOwner: TComponent);
begin
    inherited;

    m_Button := TsuiSpinButtons.Create(Self);
    m_Button.Width := 15;
    m_Button.Height := 20;
    m_Button.Visible := True;
    m_Button.Parent := Self;
    m_Button.OnUpClick := UpClick;
    m_Button.OnDownClick := DownClick;
    Text := '0';
    m_Increment := 1;
    m_EditorEnabled := True;
end;

procedure TsuiSpinEdit.CreateParams(var Params: TCreateParams);
begin
    inherited;
    Params.Style := Params.Style or ES_MULTILINE or WS_CLIPCHILDREN;
end;

procedure TsuiSpinEdit.CreateWnd;
begin
    inherited;
    SetEditRect();
end;

destructor TsuiSpinEdit.Destroy;
begin
    m_Button.Free();
    m_Button := nil;
    inherited;
end;

procedure TsuiSpinEdit.DownClick(Sender: TObject);
begin
    if ReadOnly then
        MessageBeep(0)
    else
        Value := Value - m_Increment;
end;

procedure TsuiSpinEdit.GetChildren(Proc: TGetChildProc; Root: TComponent);
begin
    // do nothing
end;

function TsuiSpinEdit.GetValue: Integer;
begin
    try
        Result := StrToInt(Text);
    except
        Result := m_MinValue;
    end;
end;

function TsuiSpinEdit.IsValidChar(Key: Char): Boolean;
begin
    Result :=
        (Key in ['-', '0'..'9']) or
        ((Key < #32) and (Key <> Chr(VK_RETURN)));

    if not m_EditorEnabled and Result and ((Key >= #32) or
        (Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then
            Result := False;
end;

procedure TsuiSpinEdit.KeyDown(var Key: Word; Shift: TShiftState);
begin
    if Key = VK_UP then
        UpClick(Self)
    else if Key = VK_DOWN then
        DownClick(Self);
    inherited;
end;

procedure TsuiSpinEdit.KeyPress(var Key: Char);
begin
    if not IsValidChar(Key) then
    begin
        Key := #0;
        MessageBeep(0)
    end;
    if Key <> #0 then
        inherited;
end;

procedure TsuiSpinEdit.SetEditRect;
var
    Loc: TRect;
begin
    SendMessage(Handle, EM_GETRECT, 0, LongInt(@Loc));
    Loc.Bottom := ClientHeight + 1;
    Loc.Right := ClientWidth - m_Button.Width - 2;
    Loc.Top := 0;
    Loc.Left := 0;
    SendMessage(Handle, EM_SETRECTNP, 0, LongInt(@Loc));
    SendMessage(Handle, EM_GETRECT, 0, LongInt(@Loc)); {debug}
end;

procedure TsuiSpinEdit.SetValue(NewValue: Integer);
begin
    Text := CurrToStr(CheckValue(NewValue));
end;

procedure TsuiSpinEdit.UIStyleChanged;
begin
    if m_Button <> nil then
    begin
        m_Button.UIStyle := UIStyle;
        m_Button.FileTheme := FileTheme;
    end;
end;

procedure TsuiSpinEdit.UpClick(Sender: TObject);
begin
    if ReadOnly then
        MessageBeep(0)
    else
        Value := Value + m_Increment;
end;

procedure TsuiSpinEdit.WMCut(var Message: TWMCut);
begin
    if not m_EditorEnabled or ReadOnly then
        Exit;
    inherited;
end;

procedure TsuiSpinEdit.WMPaste(var Message: TWMPaste);
begin
    if not m_EditorEnabled or ReadOnly then
        Exit;
    inherited;
end;

procedure TsuiSpinEdit.WMSize(var Message: TWMSize);
var
    MinHeight: Integer;
begin
    inherited;
    MinHeight := 0;
    if Height < MinHeight then
        Height := MinHeight
    else if m_Button <> nil then
    begin
        m_Button.SetBounds(Width - m_Button.Width - 4, 0, m_Button.Width, Height - 4);
        SetEditRect();
    end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品二区一区二区aⅴ污介绍| 久久国产精品色婷婷| 亚洲国产精华液网站w| 亚洲精品在线网站| 日韩欧美高清dvd碟片| 91麻豆精品国产91久久久久久久久| 欧美日韩一区不卡| 91精品免费观看| 欧美一区二区三区啪啪| 制服丝袜日韩国产| 日韩一卡二卡三卡四卡| 欧美成人性战久久| 久久婷婷久久一区二区三区| 久久久久99精品一区| 国产精品天干天干在线综合| 国产精品剧情在线亚洲| 国产精品福利一区二区三区| 国产精品久久久一本精品| 综合久久久久久| 夜夜嗨av一区二区三区| 午夜电影一区二区| 免费高清视频精品| 国产大陆亚洲精品国产| 91美女在线视频| 欧美日产国产精品| 欧美精品一区二区三区视频| 国产欧美精品一区二区色综合| 国产精品剧情在线亚洲| 亚洲综合丁香婷婷六月香| 日本欧美大码aⅴ在线播放| 韩国中文字幕2020精品| 成人一道本在线| 欧美在线小视频| 日韩一区二区三区精品视频| 久久久99精品免费观看不卡| 亚洲欧洲制服丝袜| 日韩**一区毛片| 高清av一区二区| 在线观看一区日韩| 日韩欧美资源站| 亚洲视频香蕉人妖| 日韩—二三区免费观看av| 国产传媒日韩欧美成人| 欧美午夜精品电影| 欧美精品一区二区精品网| 亚洲日本中文字幕区| 欧美aⅴ一区二区三区视频| 国产精品一区二区三区网站| 一本久久综合亚洲鲁鲁五月天| 91麻豆精品国产自产在线观看一区 | 国产凹凸在线观看一区二区| 色视频一区二区| 欧美电影免费观看完整版 | 国产精品1区2区| 91精品办公室少妇高潮对白| 欧美精品一区二区三区四区| 亚洲激情在线激情| 国产精品一区免费视频| 欧美日韩日日骚| 国产精品视频一区二区三区不卡| 亚洲午夜久久久久久久久久久| 国产精品综合av一区二区国产馆| 欧美性色黄大片| 欧美激情一区不卡| 美国十次了思思久久精品导航| av高清久久久| 久久精品网站免费观看| 日日夜夜精品免费视频| 日本精品裸体写真集在线观看| 久久精子c满五个校花| 免费看欧美美女黄的网站| 91在线视频官网| 日韩精品一区二区三区四区 | 欧美色窝79yyyycom| 精品精品国产高清a毛片牛牛| 亚洲男女毛片无遮挡| 精品在线播放午夜| 在线视频中文字幕一区二区| 久久精品一级爱片| 亚洲成a天堂v人片| 91亚洲资源网| 欧美高清在线视频| 麻豆免费看一区二区三区| 一本一道综合狠狠老| 久久久蜜臀国产一区二区| 午夜久久福利影院| www.一区二区| 日韩天堂在线观看| 一区二区三区在线不卡| 懂色中文一区二区在线播放| 欧美一区二区人人喊爽| 一区二区三区在线观看网站| 国产91精品在线观看| 欧美一区二区在线不卡| 亚洲一区二区三区视频在线播放| 成人做爰69片免费看网站| 久久久久久久综合色一本| 日本不卡视频一二三区| 欧美在线|欧美| 国产精品久久久久久久午夜片| 看国产成人h片视频| 欧美日韩aaaaa| 亚洲一区二区五区| 国产乱码精品一区二区三区忘忧草| 精品日本一线二线三线不卡| 性感美女极品91精品| 在线视频综合导航| 亚洲男人都懂的| 不卡av电影在线播放| 国产日韩精品久久久| 精品在线播放免费| 在线观看91av| 亚洲视频 欧洲视频| 国产老妇另类xxxxx| 日韩免费福利电影在线观看| 免费高清成人在线| 91精品久久久久久蜜臀| 亚洲卡通欧美制服中文| eeuss鲁片一区二区三区在线观看| 欧美国产在线观看| 国产宾馆实践打屁股91| 国产精品拍天天在线| 成人一区二区三区中文字幕| 国产精品视频在线看| 99视频精品全部免费在线| 17c精品麻豆一区二区免费| av亚洲精华国产精华精| 一区二区中文字幕在线| 99精品国产99久久久久久白柏| 国产精品麻豆欧美日韩ww| 成人动漫一区二区| 亚洲少妇最新在线视频| 欧美日韩一区 二区 三区 久久精品 | 色综合咪咪久久| 亚洲一区在线看| 欧美性大战久久久久久久| 视频一区二区不卡| 欧美videossexotv100| 久久国产免费看| 精品成a人在线观看| 成人av网站免费观看| 中文字幕在线观看不卡| 欧美午夜一区二区| 日产国产高清一区二区三区| 欧美精品一区二| 91热门视频在线观看| 亚洲午夜成aⅴ人片| 日韩三级视频在线观看| 国产成人8x视频一区二区| 亚洲精品国产高清久久伦理二区| 欧美手机在线视频| 亚洲色图在线视频| 欧美一二三区精品| 国产成人免费视频| 亚洲最大成人网4388xx| 日韩精品中文字幕在线不卡尤物| 国产经典欧美精品| 亚洲一级二级三级在线免费观看| 日韩三级视频中文字幕| av在线这里只有精品| 免费人成精品欧美精品| 中文字幕乱码日本亚洲一区二区| 色噜噜夜夜夜综合网| 捆绑调教一区二区三区| 自拍偷拍国产精品| 日韩一区二区影院| 99re在线精品| 狠狠久久亚洲欧美| 樱桃视频在线观看一区| 精品少妇一区二区三区免费观看| 国产v综合v亚洲欧| 丝袜a∨在线一区二区三区不卡| 久久久国产精品午夜一区ai换脸| 色综合夜色一区| 狠狠色伊人亚洲综合成人| 亚洲精品伦理在线| 久久色.com| 欧美人体做爰大胆视频| 成人午夜精品一区二区三区| 三级久久三级久久| 一区二区三区四区不卡在线 | 七七婷婷婷婷精品国产| 亚洲视频小说图片| 欧美精品一区二区在线播放| 在线视频欧美区| 成人性生交大片免费看中文| 日韩中文字幕av电影| 亚洲色图丝袜美腿| 日韩一区二区三区四区| 欧美电影一区二区| 91蜜桃传媒精品久久久一区二区| 激情久久久久久久久久久久久久久久| 亚洲日本电影在线| 欧美一区二区三区男人的天堂| 欧美日韩一区成人| 91麻豆免费看| 国产99久久精品| 久久99国产精品成人| 日韩精品午夜视频| 午夜激情一区二区三区|