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

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

?? tb97.pas

?? 詳細(xì)的ERP設(shè)計(jì)資料
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
                      ((FDockPos+Height) - Self.ClientHeight));
                    Break;
                  end;
                end;
              end;
        end;
    { Arrange again, this time actually moving the toolbars }
    CurRowPixel := 0;
    for R := 0 to HighestRow do begin
      CurRowSize := DockedBorderSize2 + Longint(RowSizes[R]);
      CurDockPos := 0;
      for I := 0 to DockList.Count-1 do begin
        with TCustomToolWindow97(DockList[I]) do begin
          if FDockRow <> R then Continue;
          if FDockPos <= CurDockPos then
            FDockPos := CurDockPos
          else
            CurDockPos := FDockPos;
          Inc (FUpdatingBounds);
          try
            if not LeftRight then begin
              J := Width;
              if FullSize then J := Self.ClientWidth;
              SetBounds (CurDockPos, CurRowPixel, J, CurRowSize)
            end
            else begin
              J := Height;
              if FullSize then J := Self.ClientHeight;
              SetBounds (CurRowPixel, CurDockPos, CurRowSize, J);
            end;
          finally
            Dec (FUpdatingBounds);
          end;
          if not LeftRight then
            Inc (CurDockPos, Width)
          else
            Inc (CurDockPos, Height);
        end;
      end;
      Inc (CurRowPixel, CurRowSize);
    end;

    { Set the size of the dock }
    if not LeftRight then
      ChangeWidthHeight (True, ClientWidth, CurRowPixel)
    else
      ChangeWidthHeight (True, CurRowPixel, ClientHeight);
  finally
    Dec (FDisableArrangeToolbars);
    FArrangeToolbarsNeeded := False;
  end;
end;

procedure TDock97.ChangeDockList (const Insert: Boolean;
  const Bar: TCustomToolWindow97; const IsVisible: Boolean);
{ Inserts or removes Bar. It inserts only if IsVisible is True, or is in
  design mode }
var
  Modified: Boolean;
begin
  Modified := False;

  if Insert then begin
    { Delete if already exists }
    if DockList.IndexOf(Bar) <> -1 then
      DockList.Remove (Bar);
    { Only add to dock list if visible }
    if (csDesigning in ComponentState) or IsVisible then begin
      DockList.Add (Bar);
      Modified := True;
    end;
  end
  else begin
    if DockList.IndexOf(Bar) <> -1 then begin
      DockList.Remove (Bar);
      Modified := True;
    end;
  end;

  if Modified then begin
    ArrangeToolbars;
    { This corrects a problem in past versions when toolbar is shown after it
      was initially hidden }
    Bar.ArrangeControls;

    if Assigned(FOnInsertRemoveBar) then
      FOnInsertRemoveBar (Self, Insert, Bar);
  end;
end;

procedure TDock97.Loaded;
begin
  inherited;
  { Rearranging is disabled while the component is loading, so now that it's
    loaded, rearrange it. }
  ArrangeToolbars;
end;

function TDock97.GetPalette: HPALETTE;
begin
  Result := FBkg.Palette;
end;

procedure TDock97.DrawBackground (const DC: HDC;
  const IntersectClippingRect: TRect; const ExcludeClippingRect: PRect;
  const DrawRect: TRect);
var
  UseBmp: TBitmap;
  R2: TRect;
  SaveIndex: Integer;
  DC2: HDC;
begin
  UseBmp := FBkg;
  { When FBkgTransparent is True, it keeps a cached copy of the
    background that has the transparent color already translated. Without the
    cache, redraws can be very slow.
    Note: The cache is cleared in the OnChange event of FBkg }
  if FBkgTransparent then begin
    if FBkgCache = nil then begin
      FBkgCache := TBitmap.Create;
      with FBkgCache do begin
        Palette := CopyPalette(FBkg.Palette);
        Width := FBkg.Width;
        Height := FBkg.Height;
        Canvas.Brush.Color := Self.Color;
        Canvas.BrushCopy (Rect(0, 0, Width, Height), FBkg,
          Rect(0, 0, Width, Height), FBkg.Canvas.Pixels[0, Height-1] or $02000000);
      end;
    end;
    UseBmp := FBkgCache;
  end;

  SaveIndex := SaveDC(DC);
  try
    with IntersectClippingRect do
      IntersectClipRect (DC, Left, Top, Right, Bottom);
    if Assigned(ExcludeClippingRect) then
      with ExcludeClippingRect^ do
        ExcludeClipRect (DC, Left, Top, Right, Bottom);
    if UseBmp.Palette <> 0 then begin
      SelectPalette (DC, UseBmp.Palette, True);
      RealizePalette (DC);
    end;
    R2 := DrawRect;
    while R2.Left < R2.Right do begin
      while R2.Top < R2.Bottom do begin
        { Note: versions of Toolbar97 prior to 1.68 used 'UseBmp.Canvas.Handle'
          instead of DC2 in the BitBlt call. This was changed because there
          seems to be a bug in D2/BCB1's Graphics.pas: if you called
          <dockname>.Background.LoadFromFile(<filename>) twice the background
          would not be shown. }  
        DC2 := CreateCompatibleDC(DC);
        SelectObject (DC2, UseBmp.Handle);
        BitBlt (DC, R2.Left, R2.Top, UseBmp.Width, UseBmp.Height,
          DC2, 0, 0, SRCCOPY);
        DeleteDC (DC2);

        Inc (R2.Top, UseBmp.Height);
      end;
      R2.Top := DrawRect.Top;
      Inc (R2.Left, UseBmp.Width);
    end;
  finally
    { Restores the clipping region and palette back }
    RestoreDC (DC, SaveIndex);
  end;
end;

procedure TDock97.Paint;
var
  R, R2: TRect;
  P1, P2: TPoint;
begin
  inherited;
  with Canvas do begin
    R := ClientRect;

    { Draw dotted border in design mode }
    if csDesigning in ComponentState then begin
      Pen.Style := psDot;
      Pen.Color := clBtnShadow;
      Brush.Style := bsClear;
      Rectangle (R.Left, R.Top, R.Right, R.Bottom);
      Pen.Style := psSolid;
      InflateRect (R, -1, -1);
    end;

    { Draw the Background }
    if UsingBackground then begin
      R2 := ClientRect;
      { Make up for nonclient area }
      P1 := ClientToScreen(Point(0, 0));
      P2 := Parent.ClientToScreen(BoundsRect.TopLeft);
      Dec (R2.Left, Left + (P1.X-P2.X));
      Dec (R2.Top, Top + (P1.Y-P2.Y));
      DrawBackground (Canvas.Handle, R, nil, R2);
    end;
  end;
end;

procedure TDock97.WMMove (var Message: TWMMove);
begin
  inherited;
  if UsingBackground then
    InvalidateBackgrounds;
end;

procedure TDock97.WMSize (var Message: TWMSize);
begin
  inherited;
  ArrangeToolbars;
  if not(csLoading in ComponentState) and Assigned(FOnResize) then
    FOnResize (Self);
end;

procedure TDock97.WMNCCalcSize (var Message: TWMNCCalcSize);
begin
  inherited;
  with Message.CalcSize_Params^.rgrc[0] do begin
    if blTop in BoundLines then Inc (Top);
    if blBottom in BoundLines then Dec (Bottom);
    if blLeft in BoundLines then Inc (Left);
    if blRight in BoundLines then Dec (Right);
  end;
end;

procedure TDock97.WMNCPaint (var Message: TMessage);
var
  R, R2: TRect;
  DC: HDC;
  NewClipRgn: HRGN;
  HighlightPen, ShadowPen, SavePen: HPEN;
begin
  { Don't draw border when nothing is docked }
  if (DockList.Count = 0) and not(csDesigning in ComponentState) then
    Exit;

  { This works around WM_NCPAINT problem described at top of source code }
  {no!  R := Rect(0, 0, Width, Height);}
  GetWindowRect (Handle, R);  OffsetRect (R, -R.Left, -R.Top);

  DC := GetWindowDC(Handle);
  try
    { Use update region }
    if (Message.WParam <> 0) and (Message.WParam <> 1) then begin
      GetWindowRect (Handle, R2);
      if SelectClipRgn(DC, HRGN(Message.WParam)) = ERROR then begin
        NewClipRgn := CreateRectRgnIndirect(R2);
        SelectClipRgn (DC, NewClipRgn);
        DeleteObject (NewClipRgn);
      end;
      OffsetClipRgn (DC, -R2.Left, -R2.Top);
    end;

    { Draw BoundLines }
    HighlightPen := CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNHIGHLIGHT));
    ShadowPen := CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNSHADOW));
    if blTop in BoundLines then begin
      SavePen := SelectObject(DC, ShadowPen);
      MoveToEx (DC, R.Left, R.Top, nil);  LineTo (DC, R.Right, R.Top);
      SelectObject (DC, SavePen);
    end;
    if blLeft in BoundLines then begin
      SavePen := SelectObject(DC, ShadowPen);
      MoveToEx (DC, R.Left, R.Top, nil);  LineTo (DC, R.Left, R.Bottom);
      SelectObject (DC, SavePen);
    end;
    if blBottom in BoundLines then begin
      SavePen := SelectObject(DC, HighlightPen);
      MoveToEx (DC, R.Left, R.Bottom-1, nil);  LineTo (DC, R.Right, R.Bottom-1);
      SelectObject (DC, SavePen);
    end;
    if blRight in BoundLines then begin
      SavePen := SelectObject(DC, HighlightPen);
      MoveToEx (DC, R.Right-1, R.Top, nil);  LineTo (DC, R.Right-1, R.Bottom);
      SelectObject (DC, SavePen);
    end;
    DeleteObject (ShadowPen);
    DeleteObject (HighlightPen);
  finally
    ReleaseDC (Handle, DC);
  end;
end;

procedure TDock97.CMColorChanged (var Message: TMessage);
begin
  if UsingBackground then
    { Erase the cache }
    BackgroundChanged (FBkg);
  inherited;
end;

procedure TDock97.CMSysColorChange (var Message: TMessage);
begin
  inherited;
  if UsingBackground then
    { Erase the cache }
    BackgroundChanged (FBkg);
end;

{ TDock97 - property access methods }

procedure TDock97.SetAllowDrag (Value: Boolean);
var
  I: Integer;
begin
  if FAllowDrag <> Value then begin
    FAllowDrag := Value;
    for I := 0 to ControlCount-1 do
      if Controls[I] is TCustomToolWindow97 then
        RecalcNCArea (TCustomToolWindow97(Controls[I]));
  end;
end;

procedure TDock97.SetBackground (Value: TBitmap);
begin
  FBkg.Assign (Value);
end;

function TDock97.UsingBackground: Boolean;
begin
  Result := (FBkg.Width <> 0) and (FBkg.Height <> 0);
end;

procedure TDock97.InvalidateBackgrounds;
{ Called after background is changed }
var
  I: Integer;
begin
  Invalidate;
  { Synchronize child toolbars also }
  for I := 0 to DockList.Count-1 do
    with TCustomToolWindow97(DockList[I]) do begin
      InvalidateDockedNCArea;
      Invalidate;
    end;
end;

procedure TDock97.BackgroundChanged (Sender: TObject);
begin
  { Erase the cache }
  FBkgCache.Free;
  FBkgCache := nil;
  InvalidateBackgrounds;
end;

procedure TDock97.SetBackgroundOnToolbars (Value: Boolean);
begin
  if FBkgOnToolbars <> Value then begin
    FBkgOnToolbars := Value;
    InvalidateBackgrounds;
  end;
end;

procedure TDock97.SetBackgroundTransparent (Value: Boolean);
begin
  if FBkgTransparent <> Value then begin
    FBkgTransparent := Value;
    if UsingBackground then
      { Erase the cache }
      BackgroundChanged (FBkg);
  end;
end;

procedure TDock97.SetBoundLines (Value: TDockBoundLines);
begin
  if FBoundLines <> Value then begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色区777第一页| 国产网红主播福利一区二区| 在线视频你懂得一区| voyeur盗摄精品| 99re成人在线| 99久久亚洲一区二区三区青草| 成人激情小说网站| zzijzzij亚洲日本少妇熟睡| 成人av在线电影| 成人高清视频在线观看| 99久久久无码国产精品| 91丨porny丨最新| 日本国产一区二区| 欧美日韩日日夜夜| 91精品国产欧美一区二区成人| 69成人精品免费视频| 91精品国产综合久久久久久漫画| 91精品欧美综合在线观看最新 | 精品国产免费人成电影在线观看四季| 日韩视频国产视频| 久久久久国产成人精品亚洲午夜| 国产亚洲精品久| 国产精品蜜臀在线观看| 一区二区三区精品久久久| 夜夜操天天操亚洲| 久久精品国产在热久久| 国产精品一二二区| 91丨porny丨蝌蚪视频| 欧美视频一区二区三区四区 | 日韩一区二区电影网| 精品美女一区二区三区| 国产欧美日韩综合| 亚洲精品视频观看| 免费观看日韩电影| 成人99免费视频| 欧美怡红院视频| 日韩精品中午字幕| 国产精品无码永久免费888| 亚洲一卡二卡三卡四卡无卡久久| 美国三级日本三级久久99 | 欧美一激情一区二区三区| 久久青草欧美一区二区三区| 自拍偷拍国产精品| 日欧美一区二区| 粉嫩aⅴ一区二区三区四区| 精品国产一区二区在线观看| 国产欧美一区二区三区在线看蜜臀| 亚洲美女在线一区| 久久精品国产澳门| 欧美中文字幕久久| 国产亚洲欧美激情| 日韩电影在线一区二区三区| 风间由美一区二区av101| 欧美怡红院视频| 欧美国产日韩一二三区| 亚洲电影你懂得| a级高清视频欧美日韩| 欧美一级日韩不卡播放免费| 国产精品伦一区二区三级视频| 视频一区在线播放| 99免费精品在线| 精品粉嫩aⅴ一区二区三区四区| 亚洲精品视频自拍| 国产成人av电影在线观看| 欧美日韩日日夜夜| 国产精品三级久久久久三级| 久久精品国产一区二区三| 欧美影院一区二区| 国产精品三级在线观看| 韩国女主播成人在线观看| 欧美日韩一区三区四区| 中文字幕一区二区三中文字幕| 免费成人av在线播放| 欧美在线视频全部完| 国产精品素人视频| 狠狠色丁香久久婷婷综合_中 | 欧美精品黑人性xxxx| 国产精品高清亚洲| 国产精品中文欧美| 日韩免费高清av| 日本欧美一区二区三区乱码| 欧美天堂亚洲电影院在线播放| 中文在线一区二区| 国产一区二区免费视频| 日韩免费在线观看| 美腿丝袜在线亚洲一区| 欧美日本一区二区在线观看| 一区二区三区日韩| 99re成人精品视频| 国产精品视频观看| 成人免费视频播放| 国产日韩三级在线| 国产伦精品一区二区三区免费| 精品国产凹凸成av人导航| 毛片一区二区三区| 日韩欧美激情四射| 免费视频一区二区| 国产精品视频线看| 国产91在线|亚洲| 日本一区二区三区久久久久久久久不 | 欧美系列在线观看| 亚洲国产欧美在线人成| 色欧美乱欧美15图片| 亚洲免费观看在线视频| 色婷婷综合久久久久中文| 中文字幕色av一区二区三区| 99在线热播精品免费| 自拍偷拍国产精品| 欧美中文字幕久久| 五月天中文字幕一区二区| 欧美剧情片在线观看| 日本一区中文字幕| 欧美不卡视频一区| 国产福利一区在线| 一区在线观看免费| 一本久道久久综合中文字幕| 亚洲一区二区四区蜜桃| 7799精品视频| 激情综合色综合久久| 久久夜色精品国产噜噜av| 国产成人精品一区二区三区四区| 国产日韩欧美电影| 99免费精品在线观看| 亚洲综合一区在线| 欧美高清性hdvideosex| 喷水一区二区三区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 一本大道久久a久久综合| 亚洲一区二区三区四区不卡| 日韩欧美在线影院| 国产成人小视频| 亚洲免费视频中文字幕| 在线电影国产精品| 国产一区二区三区综合| 综合色天天鬼久久鬼色| 678五月天丁香亚洲综合网| 国产精品一区2区| 亚洲狼人国产精品| 日韩女优电影在线观看| 波多野结衣的一区二区三区| 亚洲成人资源网| 国产午夜亚洲精品理论片色戒 | 99精品欧美一区二区蜜桃免费 | 成人综合在线视频| 亚洲综合视频网| 久久夜色精品国产欧美乱极品| 99re这里只有精品视频首页| 日韩精彩视频在线观看| 国产欧美日韩综合| 在线成人高清不卡| 成人午夜激情视频| 天堂久久一区二区三区| 欧美激情一区二区三区蜜桃视频| 欧美亚洲国产bt| 国产福利一区在线观看| 水蜜桃久久夜色精品一区的特点| 久久久久久久久久久黄色| 欧美最新大片在线看| 国产成人精品一区二| 日韩精品成人一区二区三区| 中文字幕五月欧美| 欧美成人一区二区三区| 在线视频观看一区| 国产成人精品综合在线观看| 日韩中文字幕1| 亚洲人亚洲人成电影网站色| 精品国产一区二区三区av性色 | 欧美老肥妇做.爰bbww| 懂色av一区二区三区蜜臀 | 99国产精品视频免费观看| 久久成人免费电影| 天天综合天天做天天综合| 1024国产精品| 国产亚洲视频系列| 日韩视频在线一区二区| 欧美在线免费播放| 92精品国产成人观看免费 | 日韩欧美一区在线| 91福利在线免费观看| 9色porny自拍视频一区二区| 精品一区二区精品| 亚洲福利视频一区| 亚洲精品你懂的| 中文字幕视频一区| 国产精品免费免费| 国产欧美日韩在线看| 精品国产91久久久久久久妲己| 欧美精品一级二级三级| 欧美在线高清视频| 一本大道久久a久久综合| 暴力调教一区二区三区| 高清不卡一区二区在线| 国产福利一区在线| 国产一区二区精品久久91| 精品综合久久久久久8888| 男女性色大片免费观看一区二区 | 亚洲图片欧美一区| 亚洲一区国产视频| 亚洲国产精品嫩草影院| 亚洲自拍都市欧美小说|