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

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

?? sscrollbox.pas

?? AlphaControls是一個(gè)Delphi標(biāo)準(zhǔn)控件的集合
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    inc(VertOffset, OldValue - VSBar.Position);
    SendMessage(Handle, WM_VSCROLL, MakeWParam(SB_THUMBPOSITION, VSBar.Position), 0);
    if Assigned(VSBar) then begin
      VSBar.DrawingForbidden := False;
    end else Exit;
    Scrolling := False;
    CommonData.BgChanged := False;
    if not VSBar.DontChange then begin
      Repaint;
    end;
  end;
end;

procedure TsScrollBox.Paint;
begin
  if not ControlIsReady(Self) or Scrolling then Exit;
  if Assigned(FCommonData) and FCommonData.BGChanged then begin
    PrepareCache;
  end;
  BitBlt(FCanvas.Handle, 0, 0, Width, Height, FCommonData.FCacheBmp.Canvas.Handle, 0, 0, SRCCOPY);
  RepaintsControls(Self, True);
  PaintControls(Canvas.Handle, nil);
  RefreshScrolls;
end;

{
procedure TsScrollBox.PaintWindow(DC: HDC);
var
  PS : TPaintStruct;
begin
  // Design - time drawing
  if IsValidSkinindex(FCommonData.SkinIndex) then begin
    FCanvas.Lock;
    try
      if DC = 0 then DC := BeginPaint(Handle, PS);
      FCanvas.Handle := DC;
      try
        Paint;
      finally
        FCanvas.Handle := 0;
        EndPaint(Handle, PS);
      end;
    finally
      FCanvas.Unlock;
    end;
  end
  else begin
    inherited PaintWindow(DC);
  end;
end;
}
procedure TsScrollBox.PrepareCache;
var
  CI : TCacheInfo;
begin
  try
    FCommonData.InitCacheBmp;
    CI.Ready := False;
    CI := GetParentCache(FCommonData);

    if FCommonData.RegionChanged then begin
      FCommonData.FRegion := 0;
      FCommonData.FRegion := CreateRectRgn(0,
                              0,
                              Width,
                              Height);
    end;
    PaintControl(FCommonData.SkinIndex, FCommonData.BorderIndex,
                 FCommonData.SkinSection, Ci,
                 False, 0,
                 Point(Left, Top),
                 FCommonData.FCacheBmp, FCommonData.FRegion
                );
    if FCommonData.RegionChanged then begin
      SetWindowRgn(Handle, FCommonData.FRegion, True);
      FCommonData.RegionChanged := False;
    end;
    FCommonData.BGChanged := False;
  except
    Alert('TsScrollBox.PrepareCache error');
  end;
end;

procedure TsScrollBox.RefreshScrolls;
var
  vsi, hsi : TsScrollInfo;
begin
  if csDestroying in ComponentState then Exit;
try
  if not ControlIsReady(Self) or not(HandleAllocated) then Exit;

  vsi := GetVScrollInfo;
  hsi := GetHScrollInfo;

  if not sSkinData.Active or not Visible then begin
    if Grip <> nil then begin
        // ! Exception arises if called in WndProc... Serge
        if not (csDesigning in ComponentState) then begin
          Grip.Visible := False;
        end
        else begin
          if Assigned(Grip) then FreeAndNil(Grip);
        end;
    end;
    ClearOffset(sbVertical);
    ClearOffset(sbHorizontal);
    Exit;
  end
  else begin
    if not vsi.Visible then ClearOffset(sbVertical);
    if not hsi.Visible then ClearOffset(sbHorizontal);
  end;

  // Prepare vertical scrollbar
  if vsi.Visible then begin
    if (VSBar = nil) then begin
      VSBar := TsScrollBar.Create(Self);
      VSBar.LinkedControl := Self;
      VSBar.OnChange := OnVSBChange;
      VSBar.DrawingForbidden := True;
      VSBar.TabStop := False;
      VSBar.Kind := sbVertical;
      VSBar.Width := WidthOf(vsi.Rect);
      VSBar.Parent := Parent;
      VSBar.Smooth := VertScrollBar.Smooth;
      BringToFront;
      VSBar.Visible := True;
      VSBar.BringToFront;
    end
    else begin
      VSBar.Visible := True;
      VSBar.BringtoFront;
    end;

    if Assigned(VSBar) then begin
      ControlIsReady(VSBar);
      VSBar.DrawingForbidden := True;
      VSBar.Max := vsi.Max;
      VSBar.SmallChange := VertScrollBar.Increment;
      VSBar.Min := 0;
      VSBar.PageSize := vsi.Page;
      VSBar.LargeChange := 80;
      VSBar.DrawingForbidden := False;
      VSBar.SetBounds(vsi.Rect.Left, vsi.Rect.Top, WidthOf(vsi.Rect), HeightOf(vsi.Rect));
    end;
  end else if Assigned(VSBar) then begin
    ClearOffset(sbVertical);
  end;

  // Prepare horizontal scrollbar
  if hsi.Visible then begin
    if (HSBar = nil) then begin
      if not Assigned(VSBar) then BringToFront;
      HSBar := TsScrollBar.Create(Self);
      HSBar.LinkedControl := Self;
      HSBar.OnChange := OnHSBChange;
      HSBar.DrawingForbidden := True;
      HSBar.Visible := True;
      HSBar.TabStop := False;
      HSBar.Kind := sbHorizontal;
      HSBar.Height := HeightOf(hsi.Rect);
      HSBar.Parent := Parent;
      HSBar.Smooth := HorzScrollBar.Smooth;
    end
    else begin
      HSBar.Visible := True;
      HSBar.BringtoFront;
    end;

    if Assigned(HSBar) then begin
      ControlIsReady(HSBar);
      HSBar.DrawingForbidden := True;
      HSBar.Max := hsi.Max;
      HSBar.SmallChange := HorzScrollBar.Increment;
      HSBar.Min := 0;
      HSBar.PageSize := hsi.Page;
      HSBar.LargeChange := 80;
      HSBar.DrawingForbidden := False;
      HSBar.SetBounds(hsi.Rect.Left, hsi.Rect.Top, WidthOf(hsi.Rect), HeightOf(hsi.Rect));
    end;
  end else if Assigned(HSBar) then begin
    ClearOffset(sbHorizontal);
  end;

  if vsi.Visible and hsi.Visible then begin
    if Grip = nil then begin
      Grip := TsGrip.Create(Self);
      Grip.LinkedControl := Self;
      Grip.Parent := Parent;
      Grip.Name := 'GripFor' + Name;
    end
    else begin
      Grip.Visible := True;
      Grip.BringToFront;
    end;
    if Grip <> nil then begin
      Grip.SetBounds(VSBar.Left + 1, HSBar.Top + 1, VSBar.Width - 1, HSBar.Height - 1);
    end;
  end
  else begin
    if Grip <> nil then begin
        // ! Exception arises if called in WndProc... Serge
        if not (csDesigning in ComponentState) then begin
          Grip.Visible := False;
        end
        else begin
          if Assigned(Grip) then FreeAndNil(Grip);
        end;
    end;
  end;
except
//alert('Error in TsScrollBox.RefreshScrolls');
end;
end;

procedure TsScrollBox.SetBorderStyle(const Value: TBorderStyle);
begin
  if Value <> FBorderStyle then begin
    FBorderStyle := Value;
    RecreateWnd;
  end;
end;

procedure TsScrollBox.WMMouseWheel(var Message: TMessage);
begin
  inherited;
  RefreshScrolls;
end;

procedure TsScrollBox.WMPaint(var Message: TWMPaint);
var
  DC, SavedDC : hdc;
  PS : TPaintStruct;
begin
  if IsValidSkinindex(FCommonData.SkinIndex) then begin
    Message.Result := 1;
    if Scrolling then Exit;
    DC := Message.DC;
    if DC = 0 then DC := BeginPaint(Handle, PS);
    SavedDC := SaveDC(DC);
    Canvas.Lock;
    Canvas.Handle := DC;
    try;
      Paint;
      Canvas.Handle := 0;
    finally
      Canvas.Unlock;
      RestoreDC(DC, SavedDC);
    end;
  end else inherited;
end;

procedure TsScrollBox.WndProc(var Message: TMessage);
begin
  if not ControlIsReady(Self) then inherited
  else begin
    if Assigned(FCommonData) and FCommonData.Skinned then begin
      case Message.Msg of
        CM_VISIBLECHANGED, WM_SIZE, CM_ENABLEDCHANGED, WM_MOUSEWHEEL, WM_MOVE : if FCommonData.Skinned then begin
          FCommonData.BGChanged := True;
          Repaint;
          if not Scrolling then RefreshScrolls;
        end;
        WM_SETFOCUS, CM_ENTER, WM_KILLFOCUS, CM_EXIT: if FCommonData.Skinned then begin
          FCommonData.FFocused := (Message.Msg = CM_ENTER) or (Message.Msg = WM_SETFOCUS);
          FCommonData.FMouseAbove := False;
          FCommonData.BGChanged := True;
          Repaint;
          if not Scrolling then RefreshScrolls;
        end;
        WM_NCPAINT : begin
          Message.Result := 1;
        end;
        WM_ERASEBKGND : begin
          Message.Result := 1;
        end;
        SM_GETCACHE : begin
          GlobalCacheInfo.Bmp := FCommonData.FCacheBmp;
          GlobalCacheInfo.X := 0;
          GlobalCacheInfo.Y := 0;
          GlobalCacheInfo.Ready := True;
          Message.Result := 1;
        end;
        SM_REMOVESKIN : if not (csDestroying in ComponentState) then begin
          FCommonData.BorderIndex := -1;
          FCommonData.SkinIndex := -1;
          FCommonData.RegionChanged := True;
          RefreshScrolls;
          RecreateWnd;
        end;
      end;
    end;
    if Message.Result <> 1 then begin
      if Assigned(FCommonData) then FCommonData.WndProc(Message);
      inherited;
    end;
    case Message.Msg of
      SM_REMOVESKIN : if not (csDestroying in ComponentState) then begin
        FCommonData.BorderIndex := -1;
        FCommonData.SkinIndex := -1;
        FCommonData.RegionChanged := True;
        RefreshScrolls;
        RecreateWnd;
      end;
    end;
  end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男人的j进女人的j一区| 国产精品一区不卡| 精品国精品国产尤物美女| 91同城在线观看| 精品一区二区免费看| 亚洲伦理在线免费看| 欧美电影免费观看高清完整版在线 | 午夜视黄欧洲亚洲| 亚洲国产激情av| 日韩三级高清在线| 欧美日韩在线直播| 国产精品18久久久久久久久| 五月综合激情网| 亚洲精品中文字幕乱码三区| 久久久99久久| 欧美一区二区三区日韩视频| 在线精品国精品国产尤物884a| 国产成人免费视频网站| 美女免费视频一区二区| 亚洲第一福利视频在线| 亚洲素人一区二区| 国产清纯白嫩初高生在线观看91 | 91.麻豆视频| 97久久精品人人爽人人爽蜜臀 | 色欲综合视频天天天| 美女诱惑一区二区| 日韩成人免费在线| 亚洲成人激情av| 亚洲一区视频在线| 亚洲最大的成人av| 依依成人精品视频| 最新热久久免费视频| 久久精品男人的天堂| 欧美mv日韩mv国产网站| 日韩欧美国产三级| 欧美电影免费观看高清完整版在| 欧美一区在线视频| 日韩一区和二区| 欧美成人官网二区| 欧美mv日韩mv国产网站app| 日韩精品一区二区三区中文不卡| 制服丝袜亚洲网站| 日韩视频在线你懂得| 日韩色视频在线观看| 久久综合中文字幕| 久久久三级国产网站| 国产欧美一区二区精品性色超碰 | 欧美国产成人精品| 欧美韩国一区二区| 亚洲天堂a在线| 亚洲午夜久久久久久久久久久| 依依成人综合视频| 日本最新不卡在线| 精品综合免费视频观看| 国产一区二区不卡在线| 国产美女主播视频一区| 粉嫩av一区二区三区| 97超碰欧美中文字幕| 色婷婷亚洲综合| 欧美一区二区三区四区视频| 欧美成人高清电影在线| 欧美国产欧美亚州国产日韩mv天天看完整| 中文字幕第一区第二区| 亚洲美女精品一区| 午夜精品福利一区二区三区av| 蜜桃视频在线观看一区二区| 国产伦精品一区二区三区免费| 国产91高潮流白浆在线麻豆| 色老头久久综合| 欧美变态凌虐bdsm| 国产精品情趣视频| 亚洲高清在线精品| 久久草av在线| 91麻豆国产自产在线观看| 欧美色涩在线第一页| 亚洲精品一区二区三区影院| 国产精品欧美久久久久无广告 | 高清shemale亚洲人妖| 91蜜桃婷婷狠狠久久综合9色| 亚洲欧洲无码一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 蜜桃视频在线观看一区二区| www.日本不卡| 91精品啪在线观看国产60岁| 日本一区免费视频| 日韩高清在线电影| 成人国产在线观看| 欧美一级日韩免费不卡| 国产精品另类一区| 免费成人在线影院| 色婷婷亚洲综合| 久久综合久久综合久久| 亚洲精品视频观看| 国产乱码精品一区二区三| 欧美日韩小视频| 国产精品免费观看视频| 免费在线成人网| 欧美亚洲图片小说| 欧美国产日韩在线观看| 蜜桃视频在线一区| 欧美吻胸吃奶大尺度电影| 国产视频一区不卡| 蜜桃视频一区二区三区| 色天天综合久久久久综合片| 久久精品视频一区| 日本 国产 欧美色综合| 色视频一区二区| 国产精品免费视频网站| 国产一区二区三区综合| 欧美欧美午夜aⅴ在线观看| 一区二区视频在线| 成人爱爱电影网址| 日韩在线一区二区| 色婷婷激情一区二区三区| 中文字幕精品三区| 国产精品小仙女| 精品伦理精品一区| 日韩av中文在线观看| 欧美日韩一区二区三区在线| 18成人在线视频| av在线不卡电影| 中文字幕久久午夜不卡| 国产成人综合自拍| 国产女人水真多18毛片18精品视频| 日本视频免费一区| 欧美人动与zoxxxx乱| 午夜精品久久久久久不卡8050| 91免费版在线| 亚洲精品va在线观看| 色哟哟欧美精品| 亚洲精品免费在线观看| 91日韩在线专区| 亚洲视频一区二区在线观看| 国产不卡高清在线观看视频| 久久精品欧美日韩精品| 国产成人av一区二区三区在线 | 在线中文字幕不卡| 一区二区三区中文字幕电影| 在线观看亚洲一区| 一区二区三区加勒比av| 在线观看av不卡| 亚洲一区二区欧美日韩| 91精品福利视频| 亚洲综合成人在线视频| 欧美日韩视频专区在线播放| 亚洲电影在线播放| 欧美高清激情brazzers| 午夜精品成人在线视频| 欧美猛男男办公室激情| 日韩精品乱码av一区二区| 欧美成人精品高清在线播放| 国产精品一区在线观看乱码 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲品质自拍视频| 色综合天天狠狠| 亚洲国产美女搞黄色| 欧美剧情片在线观看| 青青草国产精品97视觉盛宴| 久久综合色8888| 99精品国产视频| 亚洲成人黄色小说| 精品理论电影在线| 成人午夜视频在线观看| 一区二区三区四区av| 欧美巨大另类极品videosbest | 亚洲一区二区成人在线观看| 欧美一卡二卡在线| 国产精品456| 一区二区久久久久久| 日韩欧美一区二区视频| 成人午夜av电影| 亚洲国产一区二区视频| 精品理论电影在线观看| 99国产精品99久久久久久| 亚洲一区二区三区免费视频| 精品国产91久久久久久久妲己 | 亚洲一区二区三区在线| 精品免费视频.| 99在线精品免费| 日本不卡一二三| 成人欧美一区二区三区白人| 欧美群妇大交群的观看方式| 国产传媒久久文化传媒| 亚洲小少妇裸体bbw| 久久久一区二区| 欧美三级日韩在线| 福利一区二区在线| 亚洲二区在线视频| 国产精品色在线| 欧美一区二区在线视频| 成人av资源在线观看| 青青草成人在线观看| 亚洲激情在线激情| 国产日韩欧美精品电影三级在线| 欧美午夜电影一区| www.日韩大片| 国精产品一区一区三区mba视频| 玉米视频成人免费看| 国产欧美一区二区三区沐欲| 日韩三级精品电影久久久 |