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

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

?? tb97tlbr.pas

?? 詳細的ERP設計資料
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
        Canvas.MoveTo (1, Y-4);  Canvas.LineTo (ClientWidth-1, Y-4);
        Canvas.Pen.Color := clBtnHighlight;
        Canvas.MoveTo (1, Y-3);  Canvas.LineTo (ClientWidth-1, Y-3);
      end;
    end;
end;

function ControlVisibleOrDesigning (AControl: TControl): Boolean;
begin
  Result := AControl.Visible or (csDesigning in AControl.ComponentState);
end;

procedure TCustomToolbar97.SetControlVisible (const Control: TControl;
  const LeftOrRight: Boolean);
{ If Control is a master or slave control, it automatically adjusts the
  Visible properties of both the master and slave control based on the value
  of LeftOrRight }
var
  I: Integer;
begin
  for I := 0 to SlaveInfo.Count-1 do
    with PSlaveInfo(SlaveInfo[I])^ do
      if TopBottom = Control then begin
        if Assigned(TopBottom) then TopBottom.Visible := not LeftOrRight;
        if Assigned(LeftRight) then LeftRight.Visible := LeftOrRight;
        Exit;
      end
      else
      if LeftRight = Control then begin
        if Assigned(TopBottom) then TopBottom.Visible := LeftOrRight;
        if Assigned(LeftRight) then LeftRight.Visible := not LeftOrRight;
        Exit;
      end;
end;

function TCustomToolbar97.ShouldControlBeVisible (const Control: TControl;
  const LeftOrRight: Boolean): Boolean;
{ If Control is a master or slave control, it returns the appropriate visibility
  setting based on the value of LeftOrRight, otherwise it simply returns the
  current Visible setting }
var
  I: Integer;
begin
  for I := 0 to SlaveInfo.Count-1 do
    with PSlaveInfo(SlaveInfo[I])^ do
      if TopBottom = Control then begin
        Result := not LeftOrRight;
        Exit;
      end
      else
      if LeftRight = Control then begin
        Result := LeftOrRight;
        Exit;
      end;
  Result := ControlVisibleOrDesigning(Control);
end;

procedure TCustomToolbar97.FreeGroupInfo (const List: TList);
var
  I: Integer;
  L: PGroupInfo;
begin
  if List = nil then Exit;
  for I := List.Count-1 downto 0 do begin
    L := List.Items[I];
    if Assigned(L) then begin
      L^.Members.Free;
      FreeMem (L);
    end;
    List.Delete (I);
  end;
end;

procedure TCustomToolbar97.BuildGroupInfo (const List: TList;
  const TranslateSlave: Boolean; const OldDockType, NewDockType: TDockType);
var
  I: Integer;
  GI: PGroupInfo;
  Children: TList; {items casted into TControls}
  C: TControl;
  NewGroup: Boolean;
  Extra: TCompareExtra;
begin
  FreeGroupInfo (List);
  if ControlCount = 0 then Exit;

  Children := TList.Create;
  try
    for I := 0 to ControlCount-1 do 
      if (not TranslateSlave and ControlVisibleOrDesigning(Controls[I])) or
         (TranslateSlave and ShouldControlBeVisible(Controls[I], NewDockType = dtLeftRight)) then
        Children.Add (Controls[I]);

    with Extra do begin
      Toolbar := Self;
      CurDockType := OldDockType;
      ComparePositions := (csDesigning in ComponentState) and
        ToolbarParams.DesignOrderByPosition;
    end;
    if Extra.ComparePositions then
      ListSortEx (OrderList, CompareControls, @Extra);
    ListSortEx (Children, CompareControls, @Extra);

    GI := nil;
    NewGroup := True;
    for I := 0 to Children.Count-1 do begin
      if NewGroup then begin
        NewGroup := False;
        GI := AllocMem(SizeOf(TGroupInfo));
        { Note: AllocMem initializes the newly allocated data to zero }
        GI^.Members := TList.Create;
        List.Add (GI);
      end;
      C := Children[I];
      GI^.Members.Add (C);
      if C is TToolbarSep97 then
        NewGroup := True
      else begin
        with C do begin
          Inc (GI^.GroupWidth, Width);
          Inc (GI^.GroupHeight, Height);
        end;
      end;
    end;
  finally
    Children.Free;
  end;
end;

function TCustomToolbar97.OrderControls (CanMoveControls: Boolean;
  PreviousDockType: TDockType; DockingTo: TDock97): TPoint;
{ This arranges the controls on the toolbar }
var
  NewDockType: TDockType;
  NewDocked: Boolean;
  RightX, I: Integer;
  CurBarSize, DockRowSize: Integer;
  GInfo: TList;
  AllowWrap: Boolean;
  MinPosPixels, MinRowPixels, CurPosPixel, CurLinePixel, G: Integer;
  GoToNewLine: Boolean;
  GI: PGroupInfo;
  Member: TControl;
  MemberIsSep: Boolean;
  GroupPosSize, MemberPosSize: Integer;
  PreviousSep: TToolbarSep97;  PrevMinPosPixels: Integer;
  NewLineSep: TLineSep;
label 1;
begin
  NewDockType := GetDockTypeOf(DockingTo);
  NewDocked := Assigned(DockingTo);

  RightX := FFloatingRightX;
  if (NewDockType <> dtNotDocked) or (RightX = 0) then
    RightX := High(RightX)
  else begin
    { Make sure RightX isn't less than the smallest sized control + margins,
      in case one of the *LoadToolbarPositions functions happened to read
      a value too small. }
    for I := 0 to ControlCount-1 do
      if not(Controls[I] is TToolbarSep97) then
        with Controls[I] do
          if Width + (LeftMarginNotDocked+RightMarginNotDocked) > RightX then
            RightX := Width + (LeftMarginNotDocked+RightMarginNotDocked);
  end;

  if CanMoveControls then
    for I := 0 to ControlCount-1 do
      if not(Controls[I] is TToolbarSep97) then
        SetControlVisible (Controls[I], NewDockType = dtLeftRight);

  GetBarSize (CurBarSize, NewDockType);
  if (DockingTo <> nil) and (DockingTo = DockedTo) then
    GetDockRowSize (DockRowSize)
  else
    DockRowSize := CurBarSize;

  if CanMoveControls then
    GInfo := GroupInfo
  else
    GInfo := TList.Create;
  try
    BuildGroupInfo (GInfo, not CanMoveControls, PreviousDockType, NewDockType);

    if CanMoveControls then
      LineSeps.Clear;

    CurLinePixel := TopMargin[NewDocked];
    MinPosPixels := LeftMargin[NewDocked];
    if GInfo.Count <> 0 then begin
      AllowWrap := not NewDocked;
      CurPosPixel := MinPosPixels;
      GoToNewLine := False;
      PreviousSep := nil;  PrevMinPosPixels := 0;
      for G := 0 to GInfo.Count-1 do begin
        GI := PGroupInfo(GInfo[G]);

        if NewDockType <> dtLeftRight then
          GroupPosSize := GI^.GroupWidth
        else
          GroupPosSize := GI^.GroupHeight;
        if AllowWrap and
           (GoToNewLine or (CurPosPixel+GroupPosSize+RightMargin[NewDocked] > RightX)) then begin
          GoToNewLine := False;
          CurPosPixel := LeftMargin[NewDocked];
          if (G <> 0) and (PGroupInfo(GInfo[G-1])^.Members.Count <> 0) then begin
            Inc (CurLinePixel, CurBarSize + LineSpacing);
            if Assigned(PreviousSep) then begin
              MinPosPixels := PrevMinPosPixels;
              if CanMoveControls then begin
                PreviousSep.Width := 0;

                LongInt(NewLineSep) := 0;
                NewLineSep.Y := CurLinePixel;
                NewLineSep.Blank := PreviousSep.Blank;
                LineSeps.Add (Pointer(NewLineSep));
              end;
            end;
          end;
        end;
        if CurPosPixel > MinPosPixels then MinPosPixels := CurPosPixel;
        for I := 0 to GI^.Members.Count-1 do begin
          Member := TControl(GI^.Members[I]);
          MemberIsSep := Member is TToolbarSep97;
          with Member do begin
            if not MemberIsSep then begin
              if NewDockType <> dtLeftRight then
                MemberPosSize := Width
              else
                MemberPosSize := Height;
            end
            else begin
              if NewDockType <> dtLeftRight then
                MemberPosSize := TToolbarSep97(Member).SizeHorz
              else
                MemberPosSize := TToolbarSep97(Member).SizeVert;
            end;
            { If RightX is passed, proceed to next line }
            if AllowWrap and not MemberIsSep and
               (CurPosPixel+MemberPosSize+RightMargin[NewDocked] > RightX) then begin
              CurPosPixel := LeftMargin[NewDocked];
              Inc (CurLinePixel, CurBarSize);
              GoToNewLine := True;
            end;
            if NewDockType <> dtLeftRight then begin
              if not MemberIsSep then begin
                if CanMoveControls then
                  SetBounds (CurPosPixel, CurLinePixel+((DockRowSize-Height) div 2), Width, Height);
                Inc (CurPosPixel, Width);
              end
              else begin
                if CanMoveControls then
                  SetBounds (CurPosPixel, CurLinePixel, TToolbarSep97(Member).SizeHorz, DockRowSize);
                Inc (CurPosPixel, TToolbarSep97(Member).SizeHorz);
              end;
            end
            else begin
              if not MemberIsSep then begin
                if CanMoveControls then
                  SetBounds (CurLinePixel+((DockRowSize-Width) div 2), CurPosPixel, Width, Height);
                Inc (CurPosPixel, Height);
              end
              else begin
                if CanMoveControls then
                  SetBounds (CurLinePixel, CurPosPixel, DockRowSize, TToolbarSep97(Member).SizeVert);
                Inc (CurPosPixel, TToolbarSep97(Member).SizeVert);
              end;
            end;
            PrevMinPosPixels := MinPosPixels;
            if not MemberIsSep then
              PreviousSep := nil
            else
              PreviousSep := TToolbarSep97(Member);
            if CurPosPixel > MinPosPixels then MinPosPixels := CurPosPixel;
          end;
        end;
      end;
    end
    else
      Inc (MinPosPixels, DefaultBarWidthHeight);

    if csDesigning in ComponentState then
      Invalidate;
  finally
    if not CanMoveControls then begin
      FreeGroupInfo (GInfo);
      GInfo.Free;
    end;
  end;

  Inc (MinPosPixels, RightMargin[NewDocked]);
  MinRowPixels := CurLinePixel + CurBarSize + BottomMargin[NewDocked];
  if NewDockType <> dtLeftRight then begin
    Result.X := MinPosPixels;
    Result.Y := MinRowPixels;
  end
  else begin
    Result.X := MinRowPixels;
    Result.Y := MinPosPixels;
  end;
end;

procedure TCustomToolbar97.CMControlListChange (var Message: TCMControlListChange);
{ The VCL sends this message is sent whenever a child control is inserted into
  or deleted from the toolbar }
var
  I: Integer;
begin
  inherited;
  with Message, OrderList do begin
    { Delete any previous occurances of Control in OrderList. There shouldn't
      be any if Inserting=True, but just to be safe, check anyway. }
    while True do begin
      I := IndexOf(Control);
      if I = -1 then Break;
      Delete (I);
    end;
    if Inserting then
      Add (Control);
  end;
end;

function CompareNewSizes (const Item1, Item2, ExtraData: Pointer): Integer; far;
begin
  { Sorts in descending order }
  if ExtraData = nil then
    Result := TSmallPoint(Item2).X - TSmallPoint(Item1).X
  else
    Result := TSmallPoint(Item2).Y - TSmallPoint(Item1).Y;
end;

procedure TCustomToolbar97.ResizeBegin (HitTestValue: Integer);
var
  CurBarSize: Integer;

  procedure BuildNewSizes (const YOrdering: Boolean);
  { Adds items to the NewSizes list. The list must be empty when this is called }
  var
    SaveFloatingRightX: Integer;
    Max, X, LastY, SkipTo: Integer;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区自拍| 色播五月激情综合网| 国产一区二区三区精品视频| 波多野结衣中文字幕一区| 欧美日韩一级二级三级| wwww国产精品欧美| 亚洲一区二区视频在线观看| 久久99精品久久久| 欧美视频自拍偷拍| 欧美激情在线看| 同产精品九九九| jizzjizzjizz欧美| 欧美一级片免费看| 亚洲另类春色校园小说| 蜜桃一区二区三区在线观看| 91麻豆精品在线观看| 日韩三级视频在线观看| 亚洲少妇中出一区| 国产精品456露脸| 91精品国产入口| 亚洲色图在线看| 国产精一区二区三区| 制服丝袜成人动漫| 国产日韩欧美不卡在线| 麻豆久久久久久久| 欧美三级在线播放| 中文字幕一区二区三区精华液| 美女视频一区二区三区| 欧美在线免费视屏| 亚洲欧洲av一区二区三区久久| 亚洲va韩国va欧美va精品| 色综合久久中文综合久久97| 久久久美女毛片| 日本不卡的三区四区五区| www.欧美.com| 国产日韩欧美a| 日韩美女久久久| 成人黄色网址在线观看| 亚洲精品在线观看网站| 免费欧美在线视频| 69堂国产成人免费视频| 自拍av一区二区三区| 成人激情av网| 中文av一区特黄| 丰满少妇在线播放bd日韩电影| 日韩免费观看2025年上映的电影| 午夜一区二区三区在线观看| 91在线观看美女| 亚洲啪啪综合av一区二区三区| 韩国成人福利片在线播放| 欧美一级午夜免费电影| 免费观看在线色综合| 91精品中文字幕一区二区三区| 亚洲国产日韩a在线播放| 在线视频观看一区| 亚洲一区中文在线| 91麻豆福利精品推荐| 亚洲欧美国产毛片在线| 色屁屁一区二区| 一区二区三区在线免费观看| 在线视频一区二区三| 亚洲卡通动漫在线| 日本高清无吗v一区| 一区二区激情小说| 欧美性xxxxx极品少妇| 亚洲欧洲制服丝袜| 91黄视频在线观看| 午夜欧美电影在线观看| 欧美一区三区二区| 精品在线免费观看| 国产亚洲精品免费| 成人精品免费看| 亚洲色图丝袜美腿| av在线播放成人| 亚洲精品国产a| 欧美日韩在线亚洲一区蜜芽| 日本不卡视频在线观看| 欧美成人一区二区三区| 国产一区福利在线| 中文字幕不卡三区| 91免费看片在线观看| 亚洲图片欧美色图| 日韩视频一区在线观看| 国产精品一线二线三线| 国产精品欧美一级免费| 欧美自拍偷拍一区| 日韩va亚洲va欧美va久久| 精品国产欧美一区二区| 顶级嫩模精品视频在线看| 亚洲色欲色欲www| 51精品久久久久久久蜜臀| 日本麻豆一区二区三区视频| 久久夜色精品国产欧美乱极品| 成人av在线网| 亚洲午夜久久久久中文字幕久| 日韩一区二区三区免费看| 风间由美一区二区三区在线观看 | 国产亚洲精品中文字幕| 99国产精品久久久久| 亚洲国产一区二区视频| 2017欧美狠狠色| 国产成人超碰人人澡人人澡| 亚洲激情综合网| 精品日韩在线观看| 91香蕉视频污| 免费成人美女在线观看.| 国产精品伦一区| 在线免费精品视频| 日本女人一区二区三区| 国产精品天干天干在观线| 欧美最新大片在线看| 国产精品一区二区免费不卡| 亚洲激情综合网| 精品久久人人做人人爱| 91污片在线观看| 国产一区欧美日韩| 亚洲亚洲人成综合网络| 国产午夜精品理论片a级大结局| 欧美午夜精品一区二区三区 | 久久久.com| 欧美精选午夜久久久乱码6080| 久久影院午夜片一区| 色伊人久久综合中文字幕| 国产成a人亚洲精品| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲愉拍自拍另类高清精品| 国产精品久久久久久一区二区三区 | 国产乱码一区二区三区| 蜜臀久久久久久久| 午夜影院在线观看欧美| 亚洲卡通欧美制服中文| 国产精品传媒视频| 国产精品久久久久一区二区三区 | 国产午夜精品一区二区三区嫩草 | 欧美色网一区二区| 91美女视频网站| www.欧美色图| 成人免费视频网站在线观看| 国产精品一二三| 国产一区二区网址| 国产一区二区在线看| 激情久久五月天| 国内成+人亚洲+欧美+综合在线| 麻豆成人久久精品二区三区小说| 日韩在线卡一卡二| 午夜精品久久久| 亚洲第一精品在线| 五月综合激情网| 日韩高清不卡在线| 日韩av在线免费观看不卡| 日韩精品福利网| 日产国产高清一区二区三区 | 亚洲免费毛片网站| 樱花影视一区二区| 亚洲国产视频网站| 五月激情综合网| 日韩1区2区日韩1区2区| 免费成人美女在线观看| 久久国产精品99精品国产 | 亚洲欧美色综合| 亚洲欧美激情视频在线观看一区二区三区 | 欧美日韩国产综合草草| 777欧美精品| 欧美成人在线直播| 国产午夜三级一区二区三| 欧美国产禁国产网站cc| 国产精品理伦片| 一区二区在线观看不卡| 亚洲成人免费av| 美女一区二区久久| 国产精品亚洲午夜一区二区三区| 成人精品视频一区二区三区尤物| 91美女片黄在线观看91美女| 欧美日韩综合一区| 欧美一区二区视频网站| 久久网这里都是精品| 中文乱码免费一区二区| 亚洲乱码国产乱码精品精小说| 亚洲成人一区在线| 麻豆国产精品一区二区三区| 国产成人亚洲综合a∨猫咪| 91亚洲精品久久久蜜桃| 精品视频在线免费观看| 欧美成人a在线| 欧美高清在线一区| 一区二区三区欧美| 日本中文一区二区三区| 国产乱码字幕精品高清av| 91色|porny| 日韩一区二区三区四区五区六区| 久久丝袜美腿综合| 亚洲伦理在线免费看| 蜜臀久久99精品久久久久宅男 | 国产精品亚洲午夜一区二区三区| 97精品电影院| 91精品国产综合久久福利| 久久精品人人爽人人爽| 伊人性伊人情综合网| 久久国内精品视频| 99re视频精品|