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

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

?? abhslide.pas

?? 著名的虛擬儀表控件,包含全部源碼, 可以在,delphi2007 下安裝運行
?? PAS
字號:
unit AbHSlide;

{******************************************************************************}
{ Abakus VCL                                                                   }
{                 TAbHSlider (poti, analog Value adjuster)                     }
{                                                                              }
{******************************************************************************}
{        e-Mail: support@abaecker.de , Web: http://www.abaecker.com            }
{------------------------------------------------------------------------------}
{          (c) Copyright 1998..2000 A.Baecker, All rights Reserved             }
{******************************************************************************}

{$I abks.inc}

interface

uses
  Windows,
  Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, extctrls,
  _GClass,
  _AbProc;

type
  THSliderOption = (opBevelOuter, opName1, opName2, opScaleText);
  THSliderOptions = set of THSliderOption;

  TAbHSlider = class(TAbAnalogCControl)
  private
    { Private-Deklarationen }
    FBevelOuter: TAbSBevel;

    FButtonSize: Integer;
    FColorTrench: TColor;
    FOptions: THSliderOptions;
    FScaleSettings: TScaleSettings;
    isToSmall : Boolean;

    BtnHeight: Integer;
    BtnWidth: Integer;
    BtnDir: Boolean;
    pCenter: TPoint;
    FillCol: TColor;
    MaxpointWidth: Integer;
    BmpSliderArea: TBitmap;
    BmpValid: Boolean;
    rTemp: TRect;
    rSlide: TRect;
    Init: Boolean;
    rScale: TRect;
    rMove: TRect;

  protected
    { Protected-Deklarationen }
    procedure SetButtonSize(Value: Integer);
    procedure SetColorTrench(Value: TColor);
    procedure SetOptions(Value: THSliderOptions);
    procedure MouseSlide(Shift: TShiftState; x, y: Integer; SlideStartPos:
      TPoint); override;
    procedure Paint; override;
    procedure ParamChange(Sender: TObject); override;
    procedure ValueChange; override;
  public
    { Public-Deklarationen }
    procedure Loaded; override;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
    property EnableMouseJump;
    property Font;
    property BevelOuter: TAbSBevel read FBevelOuter write FBevelOuter;
    property ButtonSize: Integer read FButtonSize write SetButtonSize;
    property ColorTrench: TColor read FColorTrench write SetColorTrench;
    property Options: THSliderOptions read FOptions write SetOptions;
    property ScaleSettings: TScaleSettings read FScaleSettings write
    FScaleSettings;
  end;

implementation

procedure TAbHSlider.SetButtonSize(Value: Integer);
begin
  if FButtonSize <> Value then
  begin
    FButtonSize := Value;
    if FButtonSize > Width then FButtonSize := Width;
    if FButtonSize < 18 then FButtonSize := 18;
    ParamChange(self);
  end;
end;

procedure TAbHSlider.SetColorTrench(Value: TColor);
begin
  FColorTrench := Value;
  ParamChange(self);
end;

procedure TAbHSlider.MouseSlide(Shift: TShiftState; x, y: Integer;
  SlideStartPos: TPoint);
var
  xPos              : Integer;
begin
  inherited MouseSlide(Shift, x, y, SlideStartPos);

  xPos := x;
  if xPos < rSlide.Left then xPos := rSlide.Left;
  if xPos > rSlide.Right then xPos := rSlide.Right;

  xPos := xPos - rSlide.Left;
  Update;
  Digit := SignalSettings.DigitalFrom + Round((xPos) * (SignalSettings.TotalDigit
    / (rSlide.Right - rSlide.Left)));
end;


procedure TAbHSlider.ValueChange;
var
  TempBmp           : TBitmap;
  PosSlider         : Integer;
begin
  inherited ValueChange;
  if isToSmall then Exit;

  if not (Visible or (csDesigning in Componentstate)) then Exit;

  if BmpValid then
  begin
    rTemp := Rect(0, 0, BmpSliderArea.Width, BmpSliderArea.Height);
    TempBmp := TBitmap.Create;
    TempBmp.Assign(BmpSliderArea);

    PosSlider := Round(BtnWidth div 2 + ((rSlide.Right - rSlide.Left) /
      SignalSettings.TotalDigit) * (Digit - SignalSettings.DigitalFrom));
    pCenter := Point(PosSlider, TempBmp.Height div 2);

    if EnableMouseJump then
    begin
      SlideRect := rMove;
    end
    else
    begin
      SlideRect.Left := rMove.Left + pCenter.x - Round(ButtonSize * 0.2) + 1;
      SlideRect.Right := SlideRect.Left + Round(ButtonSize * 0.4) + 1;
    end;

    if Enabled then
    begin
      if Focused then
        AbThumb(TempBmp.Canvas, pCenter, ButtonSize, 0, BtnDir, ColorFocus)
      else
        AbThumb(TempBmp.Canvas, pCenter, ButtonSize, 0, BtnDir, ColorNonFocus);
    end
    else
      AbThumb(TempBmp.Canvas, pCenter, ButtonSize, 0, BtnDir, clBtnShadow);


    Canvas.CopyRect(rMove, TempBmp.Canvas, TempBmp.Canvas.Cliprect);


    TempBmp.Free;
  end;

end;

procedure TAbHSlider.Paint;
var
  r                 : TRect;
  w                 : Smallint;
  TempBmp           : TBitmap;
begin
  if (csLoading in Componentstate) then Exit;
  if Painting then Exit;
  Painting := true;

  TempBmp := TBitmap.Create;
  TempBmp.Width := Width;
  TempBmp.Height := Height;

  r := ClientRect;
  Canvas.Brush.Style := bsClear;


  if opBevelOuter in FOptions then
  begin
    FBevelOuter.PaintFilledBevel(TempBmp.Canvas, r);
  end
  else
  begin
    TempBmp.Canvas.Brush.Style := bsSolid;
    TempBmp.Canvas.Brush.Color := FBevelOuter.Color;
    TempBmp.Canvas.Pen.Color := FBevelOuter.Color;
    TempBmp.Canvas.Rectangle(-1, -1, TempBmp.Width + 1, TempBmp.Height + 1);
  end;

  TempBmp.Canvas.Font := Font;
  TempBmp.Canvas.Brush.Style := bsClear;

  ScaleSettings.CalcHSize(TempBmp.Canvas, SignalSettings.ValueFrom,
    SignalSettings.ValueTo);

  if (opName2 in Options) then
  begin
    AbTextOut(TempBmp.Canvas, Width div 2, r.Bottom, SignalSettings.Name2,
      toBotCenter);
    r.Bottom := r.Bottom - TempBmp.Canvas.Textheight('X');
  end;
  if (opName1 in Options) then
  begin
    AbTextOut(TempBmp.Canvas, Width div 2, r.Bottom, SignalSettings.Name1,
      toBotCenter);
    r.Bottom := r.Bottom - TempBmp.Canvas.Textheight('X');
  end;
  if (opName1 in Options) or (opName2 in Options) then
    r.Bottom := r.Bottom - BevelOuter.Spacing;

  isToSmall := (r.right - r.left < 2) or (r.Bottom - r.top < 2);
  if isToSmall then begin
    Canvas.Draw(0, 0, TempBmp);
    TempBmp.Free;
    Exit;
  end;

  if (opScaleText in Options) then
  begin
    ScaleSettings.CalcHSize(TempBmp.Canvas, SignalSettings.ValueFrom,
      SignalSettings.ValueTo);
    ScaleSettings.PenW1 := 2;
  end
  else
  begin
    ScaleSettings.PenW1 := 2;
    ScaleSettings.Spacing := 0;
    ScaleSettings.TextW := 0;
    ScaleSettings.TextH := 0;
    ScaleSettings.Text := '';
  end;

  if FButtonSize > Width then FButtonSize := Width;
  if FButtonSize < 18 then FButtonSize := 18;
  if BtnDir then
  begin
    BtnHeight := Round(ButtonSize * 0.4);
    BtnWidth := ButtonSize;
  end
  else
  begin
    BtnHeight := ButtonSize;
    BtnWidth := Round(ButtonSize * 0.4);
  end;

  w := ScaleSettings.TextW div 2;
  if w < BtnWidth div 2 then w := BtnWidth div 2;
  r.Left := r.Left + w;
  r.Right := r.Right - w;


  rTemp := r;

  rScale := r;
  rScale.Top := rScale.Top + ScaleSettings.TextH div 3;

  ScaleSettings.FPosLeftTop := true;
  ScaleSettings.HorizScala(TempBmp.Canvas, rScale);

  rSlide := r;
  rSlide.Left := rSlide.Left - 1;
  rSlide.Right := rSlide.Right + 1;
  rSlide.Top := rScale.Top + 4 + ScaleSettings.TextH div 2 +
    ScaleSettings.Spacing + ScaleSettings.sl1;
  rSlide.Bottom := rSlide.Top + 5;


  rMove.Top := rSlide.Top - BtnHeight div 2 + 2;
  rMove.Bottom := rMove.Top + BtnHeight + 1;
  rMove.Left := rSlide.Left - BtnWidth div 2;
  rMove.Right := rSlide.Right + BtnWidth div 2;
  SlideRect := rMove;


  rScale := r;
  rScale.Top := rSlide.Bottom + 4;

  ScaleSettings.FPosLeftTop := false;
  ScaleSettings.HorizScala(TempBmp.Canvas, rScale);

  Frame3D(TempBmp.Canvas, rSlide, clBtnShadow, clBtnHighlight, 1);
  TempBmp.Canvas.Brush.Color := ColorTrench;
  TempBmp.Canvas.Pen.Color := ColorTrench;
  TempBmp.Canvas.Rectangle(rSlide.Left, rSlide.Top, rSlide.Right,
    rSlide.Bottom);

  BmpSliderArea.Width := (rMove.Right - rMove.Left);
  BmpSliderArea.Height := (rMove.Bottom - rMove.Top);
  rTemp := Rect(0, 0, BmpSliderArea.Width, BmpSliderArea.Height);

  BmpSliderArea.Canvas.CopyRect(rTemp, TempBmp.Canvas, rMove);


  BmpValid := true;

  Canvas.Draw(0, 0, TempBmp);
  TempBmp.Free;

  Painting := false;
  ValueChange;
end;

procedure TAbHSlider.SetOptions(Value: THSliderOptions);
begin
  FOptions := Value;
  ParamChange(self);
end;

constructor TAbHSlider.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //if (AOwner is TWinControl) then Parent := AOwner as TWinControl;
  Init := false;
  Width := 313;
  Height := 105;
  isToSmall := false;

  FOptions := [opBevelOuter, opName1, opName2, opScaleText];


  FBevelOuter := TAbSBevel.Create;
  FBevelOuter.Spacing := 5;
  FBevelOuter.BevelLine := blOuter;
  FBevelOuter.Width := 2;

  FScaleSettings := TScaleSettings.Create;
  FScaleSettings.DrawLine := false;
  FScaleSettings.SubSteps := 5;
  FScaleSettings.Font.Size := 8;

  FillCol := clGreen;
  MaxpointWidth := 6;

  BmpSliderArea := TBitmap.Create;
  BmpSliderArea.Height := 1;
  BmpSliderArea.Width := 1;

  Value := 10;
  FButtonSize := 30;
  BtnHeight := ButtonSize;
  BtnWidth := Round(ButtonSize * 0.4);

  FColorTrench := clGreen;
  BtnDir := false;

  EnableMouseJump := true;

  Init := true;
  if (csDesigning in Componentstate) then Loaded;

end;



procedure TAbHSlider.Loaded;
begin

  FBevelOuter.OnChange := ParamChange;


  FScaleSettings.OnChange := ParamChange;
  inherited;
end;


destructor TAbHSlider.Destroy;
begin
  FBevelOuter.Free;
  FScaleSettings.Free;
  BmpSliderArea.Free;
  inherited Destroy;
end;


procedure TAbHSlider.ParamChange(Sender: TObject);
begin
  inherited ParamChange(Sender);
  Invalidate;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久亚洲综合av| 成人免费看视频| 欧美日本在线观看| 午夜精品一区二区三区免费视频| 色噜噜狠狠成人中文综合| 亚洲日本欧美天堂| 欧美日韩你懂得| 蜜桃91丨九色丨蝌蚪91桃色| 欧美xxxxxxxxx| 成人免费视频一区二区| 亚洲欧洲综合另类| 欧美精品高清视频| 九色综合狠狠综合久久| 在线观看视频一区二区| 六月丁香婷婷色狠狠久久| 久久久久国产精品人| 91麻豆精东视频| 日本欧美大码aⅴ在线播放| 久久久久久久性| 色婷婷综合五月| 另类小说图片综合网| 欧美激情综合在线| 欧美日韩大陆一区二区| 国产一区二区三区在线观看免费| 国产精品国产三级国产专播品爱网| 日本道色综合久久| 韩国欧美国产1区| 一区二区三区四区在线播放| 欧美一卡二卡在线| aaa国产一区| 亚洲二区在线视频| 欧美一级黄色大片| 国产精品久久久久久亚洲伦 | 一区二区三区在线免费播放| 欧美日韩中文另类| 国产99精品在线观看| 一区二区三区日韩| 久久久久久久久久看片| 欧美视频在线一区| 粉嫩绯色av一区二区在线观看| 亚洲成人在线观看视频| 国产精品剧情在线亚洲| 日韩免费电影网站| 欧美中文字幕一区| av在线不卡网| 国产精品正在播放| 日韩国产一区二| 老司机精品视频导航| 亚洲免费电影在线| 国产欧美日韩精品一区| 一区二区三区四区不卡在线| 国产精品羞羞答答xxdd| 欧美激情一区二区三区四区| 欧美高清激情brazzers| 色素色在线综合| 国产999精品久久久久久| 免费的成人av| 亚洲va在线va天堂| 亚洲你懂的在线视频| 久久久久国产一区二区三区四区| 91精品国产一区二区三区蜜臀| 91亚洲大成网污www| 成人精品一区二区三区四区 | 国产精品三级在线观看| 精品国偷自产国产一区| 日韩网站在线看片你懂的| 欧美揉bbbbb揉bbbbb| 色婷婷av久久久久久久| 91香蕉视频黄| 色天天综合色天天久久| 色综合亚洲欧洲| 色婷婷av一区二区三区gif| 色综合色狠狠综合色| 色综合视频在线观看| 色一情一伦一子一伦一区| 91蝌蚪porny九色| 色综合天天综合在线视频| 99精品视频在线免费观看| av福利精品导航| 成人av影视在线观看| 国产成人99久久亚洲综合精品| 国产成人久久精品77777最新版本| 韩国成人福利片在线播放| 国产伦精品一区二区三区视频青涩| 韩国欧美国产1区| 岛国一区二区在线观看| 99精品视频在线观看| 在线观看日产精品| 777xxx欧美| 精品av久久707| 欧美激情中文字幕一区二区| 中文字幕欧美一| 亚洲小说欧美激情另类| 免费在线观看一区| 国产麻豆日韩欧美久久| aaa欧美色吧激情视频| 色88888久久久久久影院按摩| 欧美日韩不卡一区| 亚洲精品一区二区三区福利| 中文字幕第一区二区| 一区二区三区在线不卡| 美女一区二区在线观看| 国产成人aaaa| 欧美丝袜自拍制服另类| 精品国产一区二区国模嫣然| 欧美国产丝袜视频| 亚洲国产欧美日韩另类综合| 美国三级日本三级久久99| 国产黑丝在线一区二区三区| 色综合视频在线观看| 日韩区在线观看| 亚洲欧洲精品一区二区精品久久久 | 精品一区二区三区视频在线观看| 高清shemale亚洲人妖| 在线免费观看日韩欧美| 精品国产a毛片| 亚洲免费av在线| 国产一区二区三区香蕉| 在线免费观看视频一区| 久久网站最新地址| 一卡二卡三卡日韩欧美| 国产一区二区三区蝌蚪| 欧美亚洲愉拍一区二区| 国产三级欧美三级| 午夜精品视频在线观看| 岛国一区二区三区| 9191成人精品久久| 国产精品九色蝌蚪自拍| 另类小说图片综合网| 欧美综合一区二区三区| 国产午夜一区二区三区| 日韩在线观看一区二区| 91美女精品福利| 国产日韩欧美一区二区三区综合| 午夜私人影院久久久久| 欧美猛男超大videosgay| 亚洲色图清纯唯美| 国产成人啪午夜精品网站男同| 欧美精品三级日韩久久| 99国产欧美另类久久久精品| 欧美日韩视频在线一区二区| 国产精品人妖ts系列视频 | 久久久不卡网国产精品一区| 亚洲与欧洲av电影| 不卡视频一二三| 久久久久久久久久久久久女国产乱 | 亚洲精品日产精品乱码不卡| 国产一区二区三区四区五区入口 | 色狠狠一区二区| 国产日韩欧美麻豆| 国产一区二区三区日韩| 日韩午夜激情免费电影| 亚洲一区二区精品3399| 91麻豆视频网站| 中文字幕一区在线观看视频| 久久国产剧场电影| 亚洲图片激情小说| 99视频精品免费视频| 另类的小说在线视频另类成人小视频在线 | 日韩免费观看2025年上映的电影| 亚洲一区二区免费视频| 色综合天天视频在线观看| 中文字幕制服丝袜一区二区三区| 国产在线精品国自产拍免费| 日韩欧美一区在线| 免费观看在线综合| 日韩欧美成人午夜| 麻豆成人免费电影| 日韩免费观看高清完整版在线观看 | 欧美肥妇毛茸茸| 婷婷综合五月天| 欧美精品视频www在线观看| 亚洲高清不卡在线观看| 欧美三级视频在线| 国产欧美日韩精品一区| 日韩欧美精品三级| eeuss鲁片一区二区三区| 亚洲一区二区影院| 日韩丝袜美女视频| 蜜臀av一区二区在线观看| 欧美一级黄色片| 经典三级视频一区| 精品处破学生在线二十三| 国产精品一区二区三区乱码| 国产欧美va欧美不卡在线| 懂色av一区二区在线播放| 国产精品女主播av| 91蜜桃网址入口| 无吗不卡中文字幕| 欧美一区二区在线免费观看| 国产精品自拍av| 亚洲视频1区2区| 欧美酷刑日本凌虐凌虐| 久久se精品一区精品二区| 国产日韩av一区二区| 色综合久久久久综合体| 日本视频免费一区| 欧美国产丝袜视频| 欧美最猛黑人xxxxx猛交| 美女一区二区视频|