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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sscrollbar.pas

?? AlphaControls是一個Delphi標(biāo)準(zhǔn)控件的集合
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
  end;
end;

procedure TsScrollBar.DrawBtnRight(b: TBitmap);
begin
  Ci.Bmp := b;
  PaintItem(Btn2SkinIndex, ArrowRight, Ci, True,
    Btn2State,
    Btn2DRect,
    Point(Btn2Rect.Left, Btn2Rect.Top), b);
  Ci.Bmp := FCommonData.FCacheBmp;

  i1 := GetMaskIndex(FBtn2SkinIndex, ArrowRight, ItemGlyph);
  if IsValidImgIndex(i1) and (ma[i1].Bmp.Width div 3 < WidthOf(FBtn1Rect)) then begin
    p.x := FBtn2Rect.Left + (WidthOf(FBtn2Rect) - ma[i1].Bmp.Width div 3) div 2;// + integer(Btn2State = 2);
    p.y := FBtn2Rect.Top + (HeightOf(FBtn2Rect) - ma[i1].Bmp.Height div 2) div 2;// + integer(Btn2State = 2);
    if (p.x < 0) or (p.y < 0) then Exit; 
    PaintRasterGlyph(b, ma[i1].Bmp,
            p, Btn2State, ma[i1].TransparentColor);
  end;
end;

procedure TsScrollBar.DrawBtnTop(b: TBitmap);
begin
  Ci.Bmp := b;
  PaintItem(Btn1SkinIndex, ArrowTop, Ci, True,
    Btn1State,
    Btn1DRect,
    Point(Btn1Rect.Left, Btn1Rect.Top), b);
  Ci.Bmp := FCommonData.FCacheBmp;

  i1 := GetMaskIndex(FBtn1SkinIndex, Arrowtop, ItemGlyph);
  if IsValidImgIndex(i1) and (ma[i1].Bmp.Height div 2 < HeightOf(FBtn1Rect)) then begin
    p.x := FBtn1Rect.Left + (WidthOf(FBtn1Rect) - ma[i1].Bmp.Width div 3) div 2;// + integer(Btn1State = 2);
    p.y := FBtn1Rect.Top + (HeightOf(FBtn1Rect) - ma[i1].Bmp.Height div 2) div 2;// + integer(Btn1State = 2);
    if (p.x < 0) or (p.y < 0) then Exit;
    PaintRasterGlyph(b, ma[i1].Bmp,
            p, Btn1State, ma[i1].TransparentColor);
  end;
end;

function TsScrollBar.FirstPoint: integer;
begin
  if Kind = sbHorizontal then begin
    Result := GetSystemMetrics(SM_CXHSCROLL);
  end
  else begin
    Result := GetSystemMetrics(SM_CYVSCROLL);
  end;
end;

procedure TsScrollBar.Loaded;
begin
  inherited;
  FCommonData.Loaded;
end;

procedure TsScrollBar.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  i : integer;
begin
  if not ControlIsReady(Self) then Exit;
  if not Skinable or not Enabled or not (Button = mbLeft) then begin inherited; end
  else begin
    MouseOffset := 0;
{
    if Assigned(ParentSStyle) and (ParentSStyle.FOwner is TWinControl) then begin
      if not TWinControl(ParentSStyle.FOwner).Focused then TWinControl(ParentSStyle.FOwner).SetFocus;
    end
    else
}
    if CanFocus then SetFocus;
    // If Button1 pressed...
    if PtInRect(Btn1Rect, Point(x,y)) then begin
      if Btn1State <> 2 then begin
        Btn1State := 2;
        if Position <> Min then begin
          DrawingForbidden := True;
          Position := FPosition - SmallChange;
          PrepareBtnTimer;
        end;
      end;
    end
    // If Button2 pressed...
    else if PtInRect(Btn2Rect, Point(x,y)) then begin
      if Btn2State <> 2 then begin
        Btn2State := 2;
        if Position <> Max then begin
          DrawingForbidden := True;
          Position := FPosition + SmallChange;
          PrepareBtnTimer;
        end;
      end;
    end
    // If slider pressed...
    else if PtInRect(SliderRect, Point(x,y)) then begin
      InitDontChange;
      if SliderState <> 2 then begin
        i := CoordToPosition(Point(x, y));
        MouseOffset := i - Position;
        SliderState := 2;
        PrepareTimer;
      end;
    end
    else begin
      if PtInRect(Bar1Rect, Point(x,y)) then begin
        if Bar1State <> 2 then begin
          Bar1State := 2;
          Bar2State := integer(BarIsHot);
          DrawingForbidden := True;
          Position := FPosition - LargeChange;
          PrepareBarTimer;
        end;
      end
      else begin
        if Bar2State <> 2 then begin
          Bar1State := integer(BarIsHot);
          Bar2State := 2;
          DrawingForbidden := True;
          Position := FPosition + LargeChange;
          PrepareBarTimer;
        end;
      end;
    end;
    UpdateBar;
  end;
end;

procedure TsScrollBar.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if not ControlIsReady(Self) then Exit;
  if not skinable or not Enabled then begin inherited; end
  else begin
    if Assigned(Timer) then begin
      Timer.Enabled := False;
      if Assigned(Timer) then FreeAndNil(Timer);
    end;
    if PtInRect(SliderRect, Point(X, Y)) or (SliderState = 2) then begin
      Bar1State := integer(BarIsHot);
      Bar2State := Bar1State;
      if SliderState = 2 then begin
        DrawingForbidden := True;
        Position := CoordToPosition(Point(X, Y)) - MouseOffset;
        if PtInRect(SliderRect, Point(X, Y)) then begin
          SliderState := 1;
        end
        else begin
          SliderState := 0;
        end;
        ClearDontChange;
{
        if PtInRect(SliderRect, Point(X, Y)) then begin
          SliderState := 1;
        end
        else begin
          SliderState := 0;
        end;
}        
      end
      else
    end
    else
    if PtInRect(Btn1Rect, Point(X, Y)) and (Btn1State = 2) then begin
      Btn1State := 1;
    end
    else if PtInRect(Btn2Rect, Point(X, Y)) and (Btn2State = 2) then begin
      Btn2State := 1;
    end
    else
    if (Bar1State = 2) then begin
      Bar1State := integer(BarIsHot);
    end
    else
    if (Bar2State = 2) then begin
      Bar2State := integer(BarIsHot);
    end;
    UpdateBar;
    ReleaseCapture;
    inherited;
  end;
end;

function TsScrollBar.NotRightToLeft: Boolean;
begin
  Result := (not IsRightToLeft) or (FKind = sbVertical);
end;

procedure TsScrollBar.OnTimer(Sender: TObject);
begin
  if not Assigned(Timer) or not ControlIsReady(Self) or (csDestroying in Timer.ComponentState) or FCommonData.FMouseAbove then Exit;
  if (SliderState = 2) then begin
    Position := CoordToPosition(ScreenToClient(Mouse.CursorPos)) - MouseOffset;
  end;
  SetCapture(Handle);
end;

procedure TsScrollBar.Paint;
var
  DC, SavedDC : hdc;
  b : TBitmap;
  lCI : TCacheInfo;
  LocalState : integer;
  c : TsColor;
  SkinIndex : integer;
begin
  SkinIndex := -1;
  if DrawingForbidden or not ControlIsReady(Self) or (csCreating in Controlstate) then Exit;

  RepaintNeeded := False;

  b := TBitmap.Create;
  b.Width := Width;
  b.Height := Height;
  b.PixelFormat := pf24bit;

  try
  if FCommonData.FCacheBmp.Width <> Width then FCommonData.FCacheBmp.Width := Width;
  if FCommonData.FCacheBmp.Height <> Height then FCommonData.FCacheBmp.Height := Height;

{ 28.11.2003 Serge
  if ParentSStyle <> nil then begin
    lCI.Bmp := ParentSStyle.FCacheBmp;
    lCI.Ready := False;
    lCI.X := 0;
    lCI.Y := 0;
  end
}
  if LinkedControl <> nil then begin
    GlobalCacheInfo.Ready := False;
    if LinkedControl is TWinControl then begin
      SendMessage(TWinControl(LinkedControl).Handle, SM_GETCACHE, 0, 0);
    end
    else begin
      LinkedControl.Perform(SM_GETCACHE, 0, 0);
    end;
    lCI := GlobalCacheInfo;
    if not (LinkedControl is TCustomForm) then begin
      dec(lCI.X, LinkedControl.Left);
      dec(lCI.Y, LinkedControl.Top);
    end;
  end
  else begin
    lCI := GetParentCache(FCommonData);
  end;

  if (HeightOf(Bar1Rect) > 0) and (WidthOf(Bar1Rect) > 0) then begin
    LocalState := Bar1State;
    if LocalState = 0 then LocalState := integer(BarIsHot);
    LocalState := LocalState * integer(Enabled);
    if Kind = sbHorizontal then begin
      SkinIndex := GetSkinIndex(ScrollBar1 + 'H');
      PaintItem(SkinIndex, ScrollBar1 + 'H', lCi, True, LocalState, Bar1Rect, Point(Left, Top), FCommonData.FCacheBmp);
    end
    else begin
      SkinIndex := GetSkinIndex(ScrollBar1 + 'V');
      PaintItem(SkinIndex, ScrollBar1 + 'V', lCi, True, LocalState, Bar1Rect, Point(Left, Top), FCommonData.FCacheBmp);
    end;
  end;

  if (HeightOf(Bar2Rect) > 0) and (WidthOf(Bar2Rect) > 0) then begin
    LocalState := Bar2State;
    if LocalState = 0 then LocalState := integer(BarIsHot);
    LocalState := LocalState * integer(Enabled);
    Bar2Rect;
    if Kind = sbHorizontal then begin
      PaintItem(GetSkinIndex(ScrollBar2 + 'H'), ScrollBar2 + 'H', lCi, True, LocalState, Bar2Rect, Point(Left + Bar2Rect.Left, Top + Bar2Rect.Top), FCommonData.FCacheBmp);
    end
    else begin
      PaintItem(GetSkinIndex(ScrollBar2 + 'V'), ScrollBar2 + 'V', lCi, True, LocalState, Bar2Rect, Point(Left + Bar2Rect.Left, Top + Bar2Rect.Top), FCommonData.FCacheBmp);
    end;
  end;

  BitBlt(b.Canvas.Handle, 0, 0, b.Width, b.Height, FCommonData.FCacheBmp.Canvas.Handle, 0, 0, SRCCOPY);


  if Kind = sbHorizontal then begin
    DrawBtnLeft(b);
    DrawBtnRight(b);
  end else begin
    DrawBtnTop(b);
    DrawBtnBottom(b);
  end;

  if (LinkedControl = nil) or Enabled or not LinkedControl.Enabled then begin
    DrawSlider(b)
  end;

  except
  end;

  DC := GetWindowDC(Handle);
  SavedDC := SaveDC(DC);
  try

    if not Enabled then begin
      lCI := GetParentCache(FCommonData);
      if (LinkedControl <> nil) and (LinkedControl <> Parent)
        then begin
          c.C := ColorToRGB(gd[SkinIndex].PaintingColor);
          FadeBmp(b, Rect(0, 0, b.Width + 1, b.Height + 1), 60, c, 0, 0);
        end
        else BmpDisabledKind(b, FDisabledKind, Parent, lCI, Point(Left, Top));
    end;

    BitBlt(DC, 0, 0, b.Width, b.Height, b.Canvas.Handle, 0, 0, SRCCOPY);
  finally
    RestoreDC(DC, SavedDC);
    ReleaseDC(Handle, DC);
    if Assigned(b) then FreeAndNil(b);
  end;
end;

procedure TsScrollBar.Preparetimer;
begin
  if Assigned(Timer) then FreeAndNil(Timer);
  Timer := TTimer.Create(Self);
  Timer.OnTimer := OnTimer;
  Timer.Interval := 100;
  Timer.Enabled := True;
  SetCapture(Handle);
end;

procedure TsScrollBar.Scroll(ScrollCode: TScrollCode; var ScrollPos: Integer);
begin
  if Assigned(FOnScroll) then FOnScroll(Self, ScrollCode, ScrollPos);
end;

function TsScrollBar.ScrollSliderIndex: integer;
begin
  FScrollSliderIndex := GetSkinIndex(SliderSectionName);
  Result := FScrollSliderIndex;
end;

procedure TsScrollBar.SetKind(Value: TScrollBarKind);
begin
  if FKind <> Value then begin
    FKind := Value;
    if not (csLoading in ComponentState) then SetBounds(Left, Top, Height, Width);
    RecreateWnd;
  end;
end;

procedure TsScrollBar.SetMax(Value: Integer);
begin
  SetParams(FPosition, FMin, Value);
  Invalidate;
end;

procedure TsScrollBar.SetMin(Value: Integer);
begin
  SetParams(FPosition, Value, FMax);
  Invalidate;
end;

procedure TsScrollBar.SetPageSize(Value: Integer);
var
  ScrollInfo: TScrollInfo;
begin
//  if (FPageSize = Value) or (FPageSize > FMax) or (Value > FMax) then exit;
  if (Value < 0) then exit;
  FPageSize := Value;
  ScrollInfo.cbSize := SizeOf(ScrollInfo);
  ScrollInfo.nPage := Value;
  ScrollInfo.fMask := SIF_PAGE;
  if HandleAllocated then
    SetScrollInfo(Handle, SB_CTL, ScrollInfo, True);
  Invalidate;
end;

procedure TsScrollBar.SetParams(APosition, AMin, AMax: Integer);
var
  OldValue : integer;
begin
  OldValue := FPosition;
  if (AMax <= AMin) then begin
    ShowError(SScrollBarRange + #10#13 + 'Max = ' + IntToStr(AMAx))
  end;
  if APosition < AMin then APosition := AMin;
  if APosition > AMax then APosition := AMax;
  if (FMin <> AMin) or (FMax <> AMax) then begin
    FMin := AMin;
    FMax := AMax;
    if HandleAllocated then SetScrollRange(Handle, SB_CTL, AMin, AMax, FPosition = APosition);
  end;
  if FPosition <> APosition then begin
    FPosition := APosition;
    if HandleAllocated then begin
      if NotRightToLeft then begin
        SetScrollPos(Handle, SB_CTL, FPosition, True)
      end
      else begin
        SetScrollPos(Handle, SB_CTL, FMax - FPosition, True);
      end;
    end;
//    Enabled := True;?
    if Skinable then begin
      RepaintNeeded := True;
      Change(OldValue);
    end;
  end;
end;

procedure TsScrollBar.SetPosition(Value: Integer);
begin
  if (csCreating in ControlState) or (csDestroying in ComponentState) then Exit;
  if (Value = FPosition) or
       ((FPosition = FMin) and (Value < FMin)) or
         ((FPosition = FMax) and (Value > FMax - 1))
           then Exit;
  SetParams(Value, FMin, FMax);
  UpdateBar;
end;

function TsScrollBar.SliderRect: TRect;
begin
  if Kind = sbHorizontal then begin
    FSliderRect.Left := PositionToCoord - SliderSize div 2;
    FSliderRect.Top := 0;
    FSliderRect.Right := FSliderRect.Left + SliderSize;
    FSliderRect.Bottom := Height;
  end
  else begin
    FSliderRect.Left := 0;
    FSliderRect.Top := PositionToCoord - SliderSize div 2;
    FSliderRect.Right := Width;
    FSliderRect.Bottom := FSliderRect.Top + SliderSize;
  end;
  Result := FSliderRect;
end;

function TsScrollBar.SliderSize : integer;
const
  MinSize = 14;
begin
  if PageSize = 0 then begin
    Result := MinSize;
  end
  else begin
    Result := Round(math.max(MinSize, PageSize * (WorkSize / (Max + PageSize - Min))));
  end;
end;

procedure TsScrollBar.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  if Skinable then begin
    if OnTop then BringToFront;
    Message.Result := 1;
  end
  else inherited;
end;

procedure TsScrollBar.WndProc(var Message: TMessage);
begin
  if Assigned(FCommonData) then FCommonData.WndProc(Message);
  inherited WndProc(Message);
  case Message.Msg of

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲精品一区二区三区| 亚洲精品视频免费看| 一本一道波多野结衣一区二区 | 国产精品久久久久国产精品日日 | 日本一区二区视频在线观看| 91久久线看在观草草青青| 韩国女主播一区| 亚洲va国产天堂va久久en| 国产欧美视频在线观看| 日韩视频一区二区在线观看| 色哟哟精品一区| 国产成人在线视频播放| 免费观看久久久4p| 亚洲aaa精品| 亚洲综合网站在线观看| 国产精品久久777777| 久久久久9999亚洲精品| 这里只有精品免费| 精品视频色一区| 色婷婷久久久久swag精品 | 亚洲第一福利一区| 国产精品久久久久9999吃药| 久久久亚洲高清| 精品美女在线播放| 欧美一区二区成人| 欧美疯狂性受xxxxx喷水图片| 91美女片黄在线观看| 成人av网站在线观看免费| 国产美女主播视频一区| 激情欧美一区二区| 国产最新精品免费| 国产精品一区二区91| 韩国av一区二区三区在线观看| 久久不见久久见免费视频1| 日韩影院免费视频| 日本亚洲欧美天堂免费| 日本视频在线一区| 美美哒免费高清在线观看视频一区二区| 亚洲.国产.中文慕字在线| 亚洲国产人成综合网站| 图片区日韩欧美亚洲| 日韩专区一卡二卡| 久久激情五月激情| 国产精品资源站在线| 国产精品88av| 99国产精品国产精品毛片| 99精品一区二区三区| 色综合久久九月婷婷色综合| 欧美性受xxxx黑人xyx| 欧美电影影音先锋| 日韩精品一区二区在线观看| 欧美不卡一区二区三区| 久久丝袜美腿综合| 国产精品免费观看视频| 亚洲视频一区二区在线观看| 亚洲精品视频观看| 日本亚洲电影天堂| 国产成人精品一区二| 99久久国产免费看| 欧美日韩精品一区二区| 欧美成人一级视频| 国产精品嫩草影院com| 亚洲女与黑人做爰| 日韩电影免费在线看| 国产在线国偷精品产拍免费yy| 国产成人精品三级麻豆| 在线观看免费亚洲| 欧美一级日韩不卡播放免费| 久久久久国产一区二区三区四区 | 国产一区二区成人久久免费影院| 福利电影一区二区| 色哟哟在线观看一区二区三区| 欧美日韩国产电影| 久久久99精品久久| 亚洲卡通动漫在线| 日本91福利区| 99九九99九九九视频精品| 欧美日韩精品一区视频| 久久精品无码一区二区三区| 亚洲蜜臀av乱码久久精品| 日本一道高清亚洲日美韩| 福利91精品一区二区三区| 欧美日韩五月天| 久久久精品tv| 日韩在线一二三区| av中文字幕亚洲| 精品欧美乱码久久久久久| 亚洲欧美偷拍卡通变态| 久久99国产精品免费| 91视频.com| 久久久www成人免费无遮挡大片| 中文字幕一区二区视频| 蜜臀99久久精品久久久久久软件| 色综合天天综合给合国产| 日韩精品自拍偷拍| 一区二区在线免费观看| 国产成人精品亚洲777人妖| 欧美疯狂做受xxxx富婆| 亚洲天堂2014| 国产剧情一区在线| 91精品国产综合久久久久久漫画| 亚洲少妇中出一区| 国产精品一二一区| 欧美一区二区三区在线看| 一区二区成人在线视频| 成人黄色777网| 久久久国产午夜精品 | 国产精品一区二区三区乱码 | 国产精品天美传媒沈樵| 蜜臀av性久久久久蜜臀aⅴ| 欧洲色大大久久| 综合自拍亚洲综合图不卡区| 国内偷窥港台综合视频在线播放| 欧美酷刑日本凌虐凌虐| 亚洲最大成人综合| 91女厕偷拍女厕偷拍高清| 国产视频一区不卡| 国产最新精品免费| 精品国产三级a在线观看| 人人超碰91尤物精品国产| 欧美日韩亚洲丝袜制服| 亚洲国产精品视频| 日本高清无吗v一区| 中文字幕一区二区三区在线播放 | 精品毛片乱码1区2区3区| 日韩av中文字幕一区二区 | 日韩视频一区二区三区在线播放| 亚洲成人av在线电影| 欧美亚洲自拍偷拍| 亚洲在线视频网站| 在线视频国内自拍亚洲视频| 亚洲天堂2014| 在线欧美日韩精品| 亚洲福利一二三区| 欧美日韩免费电影| 男女男精品网站| 精品少妇一区二区三区在线播放| 奇米一区二区三区| 精品日韩99亚洲| 国产精品自拍在线| 中文字幕av资源一区| 白白色 亚洲乱淫| 亚洲精品视频观看| 欧美日韩日本视频| 麻豆国产一区二区| 久久久久久亚洲综合影院红桃| 国产老妇另类xxxxx| 国产日韩欧美精品在线| 成人性生交大片免费| 亚洲欧洲精品一区二区三区| 色诱亚洲精品久久久久久| 亚洲 欧美综合在线网络| 精品乱人伦小说| 国产福利不卡视频| 一区二区三区影院| 欧美一区二区三区四区久久| 久久成人免费日本黄色| 日本一区二区三区久久久久久久久不| 成人久久视频在线观看| 亚洲精品视频一区二区| 欧美一卡二卡在线观看| 久久精品久久综合| 国产精品美女久久久久久久久 | 国产丝袜美腿一区二区三区| 波多野结衣中文一区| 午夜精品久久久久久| 精品国产a毛片| 99国内精品久久| 视频一区视频二区在线观看| 久久一区二区视频| 色婷婷综合久久久中文一区二区| 日本成人中文字幕在线视频| 久久免费看少妇高潮| 欧美在线不卡视频| 国产毛片一区二区| 亚洲影院免费观看| 久久久欧美精品sm网站| 在线观看视频91| 国产精品亚洲一区二区三区在线 | 久久99国产精品麻豆| 亚洲三级久久久| 欧美大胆一级视频| 91搞黄在线观看| 精品在线一区二区| 亚洲综合av网| 国产亚洲精品免费| 欧美日本一区二区在线观看| 成人av影视在线观看| 美女mm1313爽爽久久久蜜臀| 亚洲精品高清在线观看| 26uuu国产一区二区三区| 欧美体内she精视频| 国产98色在线|日韩| 日本不卡一二三| 亚洲免费观看高清完整版在线观看 | 激情综合网天天干| 亚洲夂夂婷婷色拍ww47| 国产精品美女久久久久久久网站| 日韩欧美精品三级| 欧美久久久久久蜜桃|