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

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

?? bsskingrids.pas

?? 實(shí)現(xiàn)網(wǎng)絡(luò)流量的生成,為cs結(jié)構(gòu),可以控制流量大小
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
  if Result.X < 0 then Result.Y := -1
  else if Result.Y < 0 then Result.X := -1;
end;

procedure TbsSkinCustomGrid.MoveColRow(ACol, ARow: Longint; MoveAnchor,
  Show: Boolean);
begin
  MoveCurrent(ACol, ARow, MoveAnchor, Show);
end;

function TbsSkinCustomGrid.SelectCell(ACol, ARow: Longint): Boolean;
begin
  Result := True;
end;

procedure TbsSkinCustomGrid.SizeChanged(OldColCount, OldRowCount: Longint);
begin
end;

function TbsSkinCustomGrid.Sizing(X, Y: Integer): Boolean;
var
  DrawInfo: TbsGridDrawInfo;
  State: TbsGridState;
  Index: Longint;
  Pos, Ofs: Integer;
begin
  State := FGridState;
  if State = gsNormal then
  begin
    CalcDrawInfo(DrawInfo);
    CalcSizingState(X, Y, State, Index, Pos, Ofs, DrawInfo);
  end;
  Result := State <> gsNormal;
end;

procedure TbsSkinCustomGrid.TopLeftChanged;
begin
  if FEditorMode and (FInplaceEdit <> nil) then FInplaceEdit.UpdateLoc(CellRect(Col, Row));
end;

procedure FillDWord(var Dest; Count, Value: Integer); register;
asm
  XCHG  EDX, ECX
  PUSH  EDI
  MOV   EDI, EAX
  MOV   EAX, EDX
  REP   STOSD
  POP   EDI
end;

function StackAlloc(Size: Integer): Pointer; register;
asm
  POP   ECX          { return address }
  MOV   EDX, ESP
  ADD   EAX, 3
  AND   EAX, not 3   // round up to keep ESP dword aligned
  CMP   EAX, 4092
  JLE   @@2
@@1:
  SUB   ESP, 4092
  PUSH  EAX          { make sure we touch guard page, to grow stack }
  SUB   EAX, 4096
  JNS   @@1
  ADD   EAX, 4096
@@2:
  SUB   ESP, EAX
  MOV   EAX, ESP     { function result = low memory address of block }
  PUSH  EDX          { save original SP, for cleanup }
  MOV   EDX, ESP
  SUB   EDX, 4
  PUSH  EDX          { save current SP, for sanity check  (sp = [sp]) }
  PUSH  ECX          { return to caller }
end;

procedure StackFree(P: Pointer); register;
asm
  POP   ECX                     { return address }
  MOV   EDX, DWORD PTR [ESP]
  SUB   EAX, 8
  CMP   EDX, ESP                { sanity check #1 (SP = [SP]) }
  JNE   @@1
  CMP   EDX, EAX                { sanity check #2 (P = this stack block) }
  JNE   @@1
  MOV   ESP, DWORD PTR [ESP+4]  { restore previous SP  }
@@1:
  PUSH  ECX                     { return to caller }
end;

procedure TbsSkinCustomGrid.Paint;
var
  LineColor: TColor;
  DrawInfo: TbsGridDrawInfo;
  Sel: TGridRect;
  UpdateRect: TRect;
  R, AFocRect, FocRect: TRect;
  PointsList: PIntArray;
  StrokeList: PIntArray;
  MaxStroke: Integer;
  FrameFlags1, FrameFlags2: DWORD;
  B: TBitMap;

  procedure DrawLines(DoHorz, DoVert: Boolean; Col, Row: Longint;
    const CellBounds: array of Integer; OnColor, OffColor: TColor);

  const
    FlatPenStyle = PS_Geometric or PS_Solid or PS_EndCap_Flat or PS_Join_Miter;

    procedure DrawAxisLines(const AxisInfo: TbsGridAxisDrawInfo;
      Cell, MajorIndex: Integer; UseOnColor: Boolean);
    var
      Line: Integer;
      LogBrush: TLOGBRUSH;
      Index: Integer;
      Points: PIntArray;
      StopMajor, StartMinor, StopMinor: Integer;
    begin
      with Canvas, AxisInfo do
      begin
        if EffectiveLineWidth <> 0 then
        begin
          Pen.Width := GridLineWidth;
          if UseOnColor then
            Pen.Color := OnColor
          else
            Pen.Color := OffColor;
          if Pen.Width > 1 then
          begin
            LogBrush.lbStyle := BS_Solid;
            LogBrush.lbColor := Pen.Color;
            LogBrush.lbHatch := 0;
            Pen.Handle := ExtCreatePen(FlatPenStyle, Pen.Width, LogBrush, 0, nil);
          end;
          Points := PointsList;
          Line := CellBounds[MajorIndex] + EffectiveLineWidth shr 1 +
            GetExtent(Cell);
          //!!! ??? Line needs to be incremented for RightToLeftAlignment ???
          if UseRightToLeftAlignment and (MajorIndex = 0) then Inc(Line);
          StartMinor := CellBounds[MajorIndex xor 1];
          StopMinor := CellBounds[2 + (MajorIndex xor 1)];
          StopMajor := CellBounds[2 + MajorIndex] + EffectiveLineWidth;
          Index := 0;
          repeat
            Points^[Index + MajorIndex] := Line;         { MoveTo }
            Points^[Index + (MajorIndex xor 1)] := StartMinor;
            Inc(Index, 2);
            Points^[Index + MajorIndex] := Line;         { LineTo }
            Points^[Index + (MajorIndex xor 1)] := StopMinor;
            Inc(Index, 2);
            Inc(Cell);
            Inc(Line, GetExtent(Cell) + EffectiveLineWidth);
          until Line > StopMajor;
           { 2 integers per point, 2 points per line -> Index div 4 }
          PolyPolyLine(Canvas.Handle, Points^, StrokeList^, Index shr 2);
        end;
      end;
    end;

  begin
    if (CellBounds[0] = CellBounds[2]) or (CellBounds[1] = CellBounds[3]) then Exit;
    if not DoHorz then
    begin
      DrawAxisLines(DrawInfo.Vert, Row, 1, DoHorz);
      DrawAxisLines(DrawInfo.Horz, Col, 0, DoVert);
    end
    else
    begin
      DrawAxisLines(DrawInfo.Horz, Col, 0, DoVert);
      DrawAxisLines(DrawInfo.Vert, Row, 1, DoHorz);
    end;
  end;

  procedure DrawSkinCell(B: TBitMap; AState: TGridDrawState; W, H: Integer);
  begin
    if (gdFixed in AState)
    then
      begin
        CreateHSkinImage(FixedCellLeftOffset, FixedCellRightOffset,
          B, Picture, FixedCellRect, W, H);
        with Canvas do
        begin
          Font.Name := FixedFontName;
          Font.Height := FixedFontHeight;
          Font.Color := FixedFontColor;
          Font.Style := FixedFontStyle;
          Font.CharSet := Self.Font.CharSet;
        end;
      end
    else
    if (gdFocused in AState) or (goRowSelect in Options)
    then 
      begin
        CreateHSkinImage(CellLeftOffset, CellRightOffset,
           B, Picture, FocusCellRect, W, H);
        with Canvas do
        begin
          Font.Name := FontName;
          Font.Height := FontHeight;
          Font.Color := FocusFontColor;
          Font.Style := FontStyle;
          Font.CharSet := Self.Font.CharSet;
        end;
      end
    else
    if (gdSelected in AState)
    then
      begin
        CreateHSkinImage(CellLeftOffset, CellRightOffset,
          B, Picture, SelectCellRect, W, H);
        with Canvas do
        begin
          Font.Name := FontName;
          Font.Height := FontHeight;
          Font.Color := SelectFontColor;
          Font.Style := FontStyle;
          Font.CharSet := Self.Font.CharSet;
        end;
      end;
  end;

  procedure DrawCells(ACol, ARow: Longint; StartX, StartY, StopX, StopY: Integer;
    Color: TColor; IncludeDrawState: TGridDrawState);
  var
    CurCol, CurRow: Longint;
    AWhere, Where, TempRect: TRect;
    DrawState: TGridDrawState;
    Focused: Boolean;
  begin
    CurRow := ARow;
    Where.Top := StartY;
    while (Where.Top < StopY) and (CurRow < RowCount) do
    begin
      CurCol := ACol;
      Where.Left := StartX;
      Where.Bottom := Where.Top + RowHeights[CurRow];
      while (Where.Left < StopX) and (CurCol < ColCount) do
      begin
        Where.Right := Where.Left + ColWidths[CurCol];
        if (Where.Right > Where.Left) and RectVisible(Canvas.Handle, Where) then
        begin
          DrawState := IncludeDrawState;
          Focused := IsActiveControl;
          if Focused and (CurRow = Row) and (CurCol = Col)  then
            Include(DrawState, gdFocused);
          if PointInGridRect(CurCol, CurRow, Sel) then
            Include(DrawState, gdSelected);
          if not (gdFocused in DrawState) or not (goEditing in Options) or
            not FEditorMode or (csDesigning in ComponentState) then
          begin
            if DefaultDrawing or (csDesigning in ComponentState) then
              with Canvas do
              begin
                if FIndex < 0
                then
                  begin
                    Font := Self.Font;
                    if (gdSelected in DrawState) and
                       (not (gdFocused in DrawState) or
                       ([goDrawFocusSelected, goRowSelect] * Options <> []))
                    then
                      begin
                        Brush.Color := clHighlight;
                        Font.Color := clHighlightText;
                        FillRect(Where)
                      end
                    else
                      begin
                        Brush.Color := Color;
                        FillRect(Where);
                        if gdFixed in DrawState
                        then
                          begin
                            R := Where;
                            Frm3D(Canvas, R, clBtnHighLight, clBtnShadow);
                          end;
                      end;
                  end
                else
                  if not (gdSelected in DrawState) and
                     not (gdFocused in DrawState) and
                     not (gdFixed in DrawState)
                  then
                    begin
                      Font.Name := FontName;
                      Font.Height := FontHeight;
                      Font.Color := FontColor;
                      Font.Style := FontStyle;
                      Font.CharSet := Self.Font.CharSet;
                      Brush.Color := BGColor;
                      FillRect(Where);
                    end
                  else
                    begin
                      B := TBitMap.Create;
                      DrawSkinCell(B, DrawState,
                      RectWidth(Where), RectHeight(Where));
                      Draw(Where.Left, Where.Top, B);
                      B.Free;
                    end;
              end;

            DrawCell(CurCol, CurRow, Where, DrawState);

            if FIndex < 0
            then
            if DefaultDrawing and not (csDesigning in ComponentState) and
              (gdFocused in DrawState) and
              ([goEditing, goAlwaysShowEditor] * Options <> [goEditing, goAlwaysShowEditor])
              and not (goRowSelect in Options)
            then
            begin
              if not UseRightToLeftAlignment
              then
                DrawFocusRect(Canvas.Handle, Where)
              else
                begin
                  AWhere := Where;
                  AWhere.Left := Where.Right;
                  AWhere.Right := Where.Left;
                  DrawFocusRect(Canvas.Handle, AWhere)
                end;
            end;

          end;
        end;
        Where.Left := Where.Right + DrawInfo.Horz.EffectiveLineWidth;
        Inc(CurCol);
      end;
      Where.Top := Where.Bottom + DrawInfo.Vert.EffectiveLineWidth;
      Inc(CurRow);
    end;
  end;


begin
  if (Width <= 0) or (Height <=0) then Exit;
  GetSkinData;
  
  if UseRightToLeftAlignment then ChangeGridOrientation(True);

  UpdateRect := Canvas.ClipRect;

  CalcDrawInfo(DrawInfo);
  with DrawInfo do
  begin
    if (Horz.EffectiveLineWidth > 0) or (Vert.EffectiveLineWidth > 0) then
    begin
      { Draw the grid line in the four areas (fixed, fixed), (variable, fixed),
        (fixed, variable) and (variable, variable) }
      if FIndex > -1
      then
        LineColor := LinesColor
      else
        LineColor := FGridLineColor;

      MaxStroke := Max(Horz.LastFullVisibleCell - LeftCol + FixedCols,
                        Vert.LastFullVisibleCell - TopRow + FixedRows) + 3;
      PointsList := StackAlloc(MaxStroke * sizeof(TPoint) * 2);
      StrokeList := StackAlloc(MaxStroke * sizeof(Integer));
      FillDWord(StrokeList^, MaxStroke, 2);

      if ColorToRGB(Color) = clSilver then LineColor := clGray;

      DrawLines(goFixedHorzLine in Options, goFixedVertLine in Options,
        0, 0, [0, 0, Horz.FixedBoundary, Vert.FixedBoundary], LineColor{clBlack}, FixedColor);

      DrawLines(goFixedHorzLine in Options, goFixedVertLine in Options,
        LeftCol, 0, [Horz.FixedBoundary, 0, Horz.GridBoundary,
        Vert.FixedBoundary], LineColor{clBlack}, FixedColor);

      DrawLines(goFixedHorzLine in Options, goFixedVertLine in Options,
        0, TopRow, [0, Vert.FixedBoundary, Horz.FixedBoundary,
        Vert.GridBoundary], LineColor{clBlack}, FixedColor);

      // skin
      DrawLines(goHorzLine in Options, goVertLine in Options, LeftCol,
        TopRow, [Horz.FixedBoundary, Vert.FixedBoundary, Horz.GridBoundary,
        Vert.GridBoundary], LineColor, Color);
      //

      StackFree(StrokeList);
      StackFree(PointsList);
    end;

    { Draw the cells in the four areas }
    Sel := Selection;
    FrameFlags1 := 0;
    FrameFlags2 := 0;
    if goFixedVertLine in Options then
    begin
      FrameFlags1 := BF_RIGHT;
      FrameFlags2 := BF_LEFT;
    end;
    if goFixedHorzLine in Options then
    begin
      FrameFlags1 := FrameFlags1 or BF_BOTTOM;
      FrameFlags2 := FrameFlags2 or BF_TOP;
    end;
    DrawCells(0, 0, 0, 0, Horz.FixedBoundary, Vert.FixedBoundary, FixedColor,
      [gdFixed]);
    DrawCells(LeftCol, 0, Horz.FixedBoundary - FColOffset, 0, Horz.GridBoundary,  //!! clip

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91污片在线观看| 亚洲精品视频在线观看网站| 欧美一区二区性放荡片| 欧美日韩精品一区二区天天拍小说| 99久久精品一区二区| av亚洲精华国产精华| 91伊人久久大香线蕉| 94-欧美-setu| 欧美性生活一区| 欧美日韩国产在线观看| 日韩欧美视频一区| 精品久久久久久久一区二区蜜臀| xf在线a精品一区二区视频网站| 欧美xxxx在线观看| 久久久久亚洲蜜桃| 亚洲欧洲精品天堂一级| 亚洲一区二区偷拍精品| 石原莉奈在线亚洲二区| 另类欧美日韩国产在线| 国产精品小仙女| 99这里只有久久精品视频| 欧美在线你懂的| 91精品国产乱码| 久久久久国产精品人| 亚洲欧洲日本在线| 亚洲国产综合视频在线观看| 日本美女一区二区| 精彩视频一区二区| 99久久精品国产一区二区三区| 欧美网站一区二区| 日韩三级精品电影久久久| 久久久久久久免费视频了| 亚洲色图清纯唯美| 日韩福利视频导航| 成人免费视频免费观看| 在线精品视频一区二区| 日韩欧美一区二区在线视频| 国产亚洲欧美日韩日本| 一区二区三区日韩欧美精品| 美日韩一区二区| 成人激情开心网| 欧美高清视频不卡网| 久久先锋影音av鲁色资源| 亚洲欧美另类小说视频| 日本不卡在线视频| 成人黄页毛片网站| 在线电影欧美成精品| 国产欧美视频一区二区| 亚洲成人免费在线| 成人妖精视频yjsp地址| 欧美裸体bbwbbwbbw| 国产精品美女www爽爽爽| 日韩福利视频网| 91亚洲精品久久久蜜桃| 精品捆绑美女sm三区| 亚洲美女视频一区| 国产激情偷乱视频一区二区三区| 欧美综合欧美视频| 中文字幕精品一区| 久久精品久久精品| 在线视频国内自拍亚洲视频| 久久综合久久99| 亚洲成av人片www| 99精品热视频| 欧美成人精精品一区二区频| 一级日本不卡的影视| 国产99一区视频免费| 欧美一区二区三区四区久久| 亚洲激情自拍视频| 成人免费毛片高清视频| 日韩欧美一级二级三级久久久| 亚洲专区一二三| 丁香一区二区三区| 久久一夜天堂av一区二区三区| 天天综合色天天| 欧美综合久久久| 综合激情成人伊人| 国产美女在线观看一区| 欧美一区二区三区在线电影| 亚洲尤物视频在线| 色94色欧美sute亚洲线路二 | 欧美一区二区成人| 亚洲欧美日韩一区二区 | 欧美一区日本一区韩国一区| 亚洲欧美日韩久久| 99综合电影在线视频| 国产日本欧美一区二区| 国产精品一区久久久久| 精品国产自在久精品国产| 日韩电影在线一区| 制服丝袜av成人在线看| 性做久久久久久久免费看| 欧美伊人久久大香线蕉综合69| 亚洲欧美另类在线| 一本久久综合亚洲鲁鲁五月天| 国产精品久久久久久久久动漫| 国产成人免费在线观看| 国产喂奶挤奶一区二区三区| 国产91清纯白嫩初高中在线观看| 国产午夜精品一区二区三区嫩草 | 成人av动漫在线| 国产精品久久久99| 99精品偷自拍| 亚洲精品欧美综合四区| 色偷偷成人一区二区三区91 | 成人av在线资源网| 中文字幕免费一区| av激情成人网| 一区二区三区在线观看国产| 91豆麻精品91久久久久久| 亚洲美女免费视频| 欧美日韩小视频| 免费精品99久久国产综合精品| 日韩欧美美女一区二区三区| 国内精品视频一区二区三区八戒| 久久久久久久av麻豆果冻| 成人a区在线观看| 一区二区视频免费在线观看| 欧美午夜不卡在线观看免费| 日韩av网站免费在线| 亚洲精品在线三区| 成人综合婷婷国产精品久久免费| 日本一区二区成人在线| 91亚洲精品一区二区乱码| 亚洲成a人片综合在线| 日韩精品中文字幕一区| 国产精品 日产精品 欧美精品| 亚洲国产精品成人综合色在线婷婷| 91在线观看污| 亚洲成人1区2区| 精品毛片乱码1区2区3区| 成人毛片在线观看| 亚洲一区二区黄色| 久久综合久久鬼色中文字| 波多野结衣精品在线| 亚洲444eee在线观看| 久久嫩草精品久久久精品一| 91免费在线播放| 日本 国产 欧美色综合| 国产精品久久久久一区二区三区| 欧美日韩综合在线| 国产在线观看免费一区| 亚洲另类春色校园小说| 欧美成va人片在线观看| aaa亚洲精品| 麻豆久久久久久久| 亚洲日本在线a| 精品欧美一区二区在线观看| 99精品久久99久久久久| 琪琪久久久久日韩精品| 国产精品久久久久久久久免费丝袜| 欧美日本免费一区二区三区| 国产99久久久国产精品免费看| 亚洲午夜电影网| 久久久精品蜜桃| 欧美视频中文字幕| 成人少妇影院yyyy| 日韩高清在线不卡| 亚洲天堂免费看| 亚洲精品一区二区三区在线观看| 91官网在线观看| 成人免费视频国产在线观看| 免费成人av资源网| 一区二区三区中文字幕在线观看| 久久久久久久久久久久久久久99| 欧美日韩国产精选| 99国内精品久久| 国产成人免费av在线| 日韩电影免费在线观看网站| 亚洲人成在线播放网站岛国 | 亚洲午夜久久久| 中文文精品字幕一区二区| 日韩三级免费观看| 在线视频一区二区免费| 99久久综合99久久综合网站| 久久91精品久久久久久秒播| 五月婷婷综合网| 亚洲人妖av一区二区| 欧美国产乱子伦 | 久久精品国产色蜜蜜麻豆| 亚洲无人区一区| 亚洲理论在线观看| 亚洲日本va在线观看| 中文子幕无线码一区tr| 久久五月婷婷丁香社区| 日韩欧美中文一区| 欧美精品18+| 欧美视频中文一区二区三区在线观看 | 成人精品一区二区三区中文字幕| 日本伊人色综合网| 亚洲国产成人av网| 亚洲一区中文在线| 亚洲激情图片一区| 一区二区三区资源| 亚洲精品自拍动漫在线| 亚洲日本青草视频在线怡红院| 国产精品久久久久aaaa| 国产精品人成在线观看免费| 欧美激情一区在线观看| 亚洲国产激情av|