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

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

?? drawbox.pas

?? A diagram edit component for delphi/c++ builder with full source included
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
  p1,p2:TPoint;
begin
  r:=obj.Bounds;
  r:=DocToView(r,canvas);
  p1:=RealToInt(RealPoint(r.Left,r.top));
  p2:=RealToInt(RealPoint(r.right,r.bottom));

  p1:=self.ClientToScreen(p1);
  p2:=self.ClientToScreen(p2);

  p1:=TScrollBox(parent).ScreenToClient(p1);
  p2:=TScrollBox(parent).ScreenToClient(p2);

  b:=Rect(p1.x,p1.y,p2.x,p2.y);
  if obj.FSelected then begin
    OffsetRect(b,-3,-3);
    InflateRect(b,6,6);
  end;

  Windows.InvalidateRect(TScrollBox(parent).Handle,@b,false);
end;

procedure TView.Draw(Canvas:TCanvas);
  procedure DrawGrid(Canvas:TCanvas);
  var
    p:TRealPoint;
    n:integer;
    d,x,y:real;
  begin
    with Canvas do begin
      p:=RealPoint(5,5);
      p:=DocToView(p,Canvas);
      d:=p.x;
      x:=d;
      y:=d;

      n:=0;
      while x<Width do begin
        if n mod 2=0 then begin
          Pen.Color:=$f9f9f9;
        end
        else begin
          Pen.Color:=$f0f0f0;
        end;

        if (FZoom>50) and ((n+1) mod 4 =0) then begin
          Font.Name:='Arial';
          Font.Size:=7;
          Font.Color:=clBlue;
          TextOut(RealToInt(x+1),0,IntToStr(RealToInt(n div 2+1)));
        end;

        MoveTo(RealToInt(x),0);
        LineTo(RealToInt(x),Height);

        x:=x+d;
        n:=n+1;
      end;

      n:=0;
      while y<Height do begin
        if n mod 2=0 then begin
          Pen.Color:=$f9f9f9;
        end
        else begin
          Pen.Color:=$f0f0f0;
        end;

        if (FZoom>50) and ((n+1) mod 4 =0) then begin
          Font.Name:='Arial';
          Font.Size:=7;
          Font.Color:=clBlue;
          TextOut(2,RealToInt(y),IntToStr(RealToInt(n div 2+1)));
        end;
        MoveTo(0,RealToInt(y));
        LineTo(Width,RealToInt(y));

        y:=y+d;
        n:=n+1;
      end;
    end;
  end;
var
  i:integer;
  bmp:TBitmap;
begin
  if not FPrinting then begin
    bmp:=TBitmap.Create;
    bmp.Width:=Canvas.ClipRect.Right-Canvas.ClipRect.left;
    bmp.Height:=Canvas.ClipRect.bottom-Canvas.ClipRect.top;

    SetViewportOrgEx(bmp.Canvas.Handle,-Canvas.ClipRect.left,-Canvas.ClipRect.top,nil);

    //bakground
    with bmp.canvas do begin
      brush.Color:=FPaperColor;
      brush.Style:=bsSolid;
      FillRect(Rect(0,0,Width,Height));
    end;

    //show grid
    if FShowGrid then
      DrawGrid(bmp.Canvas);

    //draw objects
    for i:=0 to FObjects.Count-1 do begin
      TDrawObj(FObjects[i]).Draw(bmp.Canvas);
    end;

    //show frame
    with bmp.canvas do begin
      Pen.Color:=clBlack;
      brush.Style:=bsClear;
      Rectangle(0,0,Width,height);
    end;

    windows.SetViewportOrgEx(bmp.Canvas.Handle,0,0,nil);
    Windows.BitBlt(Canvas.handle,Canvas.ClipRect.left,Canvas.ClipRect.top,bmp.Width,bmp.height,bmp.Canvas.handle,0,0,SRCCopy);

    bmp.free;
  end
  else begin
    for i:=0 to FObjects.Count-1 do begin
      TDrawObj(FObjects[i]).Draw(Canvas);
    end;
  end;
end;

procedure TView.SetPaper(Value:TPaper);
var
  size:TRealPoint;
begin
  FPaper:=value;

  if FPaper<>Custom then begin
    case Value of
      Letter:begin  Size.x:=216; Size.y:=279; end;
      A3: begin     Size.x:=297; Size.y:=420; end;
      A4: begin     Size.x:=210; Size.y:=297; end;
      A5: begin     Size.x:=148; Size.y:=210; end;
      B4: begin     Size.x:=250; Size.y:=354; end;
      B5: begin     Size.x:=182; Size.y:=257; end;
    end;
    FPaperWidth:=RealToint(size.x);
    FPaperHeight:=RealToint(size.y);

    size:=DocToView(size,canvas);

    Width:=RealToint(size.x);
    Height:=RealToint(size.y);
  end;
end;

procedure TView.SetPaperWidth(value:integer);
begin
  FPaperWidth:=Value;

  Width:=RealToInt(DocToView(FPaperWidth,canvas));

  FPaper:=Custom;
end;

procedure TView.SetPaperHeight(value:integer);
begin
  FPaperHeight:=Value;

  Height:=RealToInt(DocToView(FPaperHeight,canvas));

  FPaper:=Custom;
end;

procedure TView.SetPaperColor(value:TColor);
begin
  FPaperColor:=Value;

  Invalidate;
end;

procedure TView.SetShowGrid(value:boolean);
begin
  FShowGrid:=Value;

  Invalidate;
end;

procedure TView.SetZoom(value:integer);
begin
  if value<10 then
    FZoom:=10
  else
    FZoom:=value;

  SetPaper(FPaper);

  Invalidate;
end;

{TCustomDrawBox}
constructor TCustomDrawBox.Create(AOwner:TComponent);
var
  o:TDrawObj;
  points:array of TRealPoint;
begin
  inherited Create(AOwner);

  Color:=clAppWorkSpace;
  Align:=alClient;

  HorzScrollBar.Tracking:=true;
  HorzScrollBar.Margin:=8;

  VertScrollBar.Tracking:=true;
  VertScrollBar.Margin:=8;

  FView:=TView.create(self);
  FView.parent:=self;
  FView.Left:=8;
  FView.Top:=8;

  FRightEdge:=TShape.Create(self);
  FRightEdge.Parent:=self;
  FRightEdge.Brush.Color:=clBlack;

  FBottomEdge:=TShape.Create(self);
  FBottomEdge.Parent:=self;
  FBottomEdge.Brush.Color:=clBlack;

  SetEdgePosition;

  SetLength(points,2);
  points[0]:=RealPoint(10,10);
  points[1]:=realPoint(30,30);
  o:=TRectangle.Create(points);
  TRectangle(o).shape:=stRectangle;
  FView.Add(o);

  points[0]:=RealPoint(20,20);
  points[1]:=RealPoint(40,40);
  o:=TPolyLine.Create(points);
  FView.Add(o);
end;

destructor TCustomDrawBox.destroy;
begin
  FView.free;
  FRightEdge.free;
  FBottomEdge.free;

  inherited destroy;
end;

procedure TCustomDrawBox.SetEdgePosition;
begin
  FRightEdge.Left:=FView.Left+FView.Width;
  FRightEdge.Top:=FView.Top+3;
  FRightEdge.Width:=3;
  FRightEdge.height:=FView.Height-1;

  FBottomEdge.Left:=FView.Left+3;
  FBottomEdge.Top:=FView.Top+FView.Height;
  FBottomEdge.Width:=FView.Width;
  FBottomEdge.height:=3;
end;

procedure TCustomDrawBox.SetDrawingTool(value:TDrawingTool);
begin
  FView.DrawingTool:=value;
end;

function TCustomDrawBox.GetDrawingTool:TDrawingTool;
begin
  result:=FView.DrawingTool;
end;

procedure TCustomDrawBox.PaperProperty;
var
  f:TPaperPropertyForm;
begin
    f:=TPaperPropertyForm.create(nil);
    if f.ShowModal=mrOK then begin
    end;
    f.free;
end;

procedure TCustomDrawBox.SetPaper(value:TPaper);
begin
  FView.Paper:=value;

  SetEdgePosition;
end;

function TCustomDrawBox.GetPaper:TPaper;
begin
  result:=FView.Paper;
end;

procedure TCustomDrawBox.SetPaperWidth(value:integer);
begin
  FView.PaperWidth:=value;

  SetEdgePosition;
end;

function TCustomDrawBox.GetPaperWidth:integer;
begin
  result:=FView.PaperWidth;
end;

procedure TCustomDrawBox.SetPaperHeight(value:integer);
begin
  FView.PaperHeight:=value;

  SetEdgePosition;
end;

function TCustomDrawBox.GetPaperHeight:integer;
begin
  result:=FView.PaperHeight;
end;

procedure TCustomDrawBox.SetPaperColor(value:TColor);
begin
  FView.PaperColor:=value;
end;

function TCustomDrawBox.GetPaperColor:TColor;
begin
  result:=FView.PaperColor;
end;

procedure TCustomDrawBox.SetZoom(value:integer);
begin
  FView.Zoom:=value;

  SetEdgePosition;
end;

function TCustomDrawBox.GetZoom:Integer;
begin
  result:=FView.Zoom;
end;

procedure TCustomDrawBox.SetShowGrid(value:boolean);
begin
  FView.ShowGrid:=value;
end;

function TCustomDrawBox.GetShowGrid:Boolean;
begin
  result:=FView.ShowGrid;
end;

procedure TCustomDrawBox.Add(obj:TDrawObj);
begin
  FView.Add(obj);
end;

procedure TCustomDrawBox.Delete(obj:TDrawObj);
begin
  FView.Delete(obj);
end;

procedure TCustomDrawBox.Delete(index:integer);
begin
  FView.Delete(index);
end;

procedure TCustomDrawBox.Select(obj:TDrawObj);
begin
  FView.Select(obj);
end;

procedure TCustomDrawBox.Unselect(obj:TDrawObj);
begin
  FView.Unselect(obj);
end;

procedure TCustomDrawBox.SelectAll;
begin
  FView.SelectAll;
end;

procedure TCustomDrawBox.UnselectAll;
begin
  FView.UnselectAll;
end;

procedure TCustomDrawBox.Print;
begin
  FView.Print;
end;

procedure TCustomDrawBox.Alignment(AAlignment:TAlignment);
begin
  FView.Alignment(AAlignment);
end;

procedure TCustomDrawBox.LoadFromFile(AFileName:String);
begin
  FView.LoadFromFile(AFileName);
end;

procedure TCustomDrawBox.LoadFromStream(AStream:TStream);
begin
  FView.LoadFromStream(AStream);
end;

procedure TCustomDrawBox.SaveToFile(AFileName:String);
begin
  FView.SaveToFile(AFileName);
end;

procedure TCustomDrawBox.SaveToStream(AStream:TStream);
begin
  FView.SaveToStream(AStream);
end;

//TDrawBar
constructor TDrawBar.create(AOwner:TComponent);
var
  i,x:integer;
  GlyphNames:array[1..18] of string;
begin
  inherited create(AOwner);

  AutoSize:=false;
  //Align:=alTop;
  Height:=28;

  GlyphNames[1]:='dtSelect';
  GlyphNames[2]:='dtRectangle';
  GlyphNames[3]:='dtPolyLine';

  GlyphNames[4]:='SEPERATOR';

  GlyphNames[5]:='ALLEFT';
  GlyphNames[6]:='ALHORZCENTER';
  GlyphNames[7]:='ALRIGHT';
  GlyphNames[8]:='ALWIDTH';
  GlyphNames[9]:='ALTOP';
  GlyphNames[10]:='ALVERTCENTER';
  GlyphNames[11]:='ALBOTTOM';
  GlyphNames[12]:='ALHEIGHT';

  GlyphNames[13]:='SEPERATOR';

  GlyphNames[14]:='FGCOLOR';
  GlyphNames[15]:='BKCOLOR';
  GlyphNames[16]:='TEXTCOLOR';
  GlyphNames[17]:='FONT';

  x:=0;
  for i:=1 to 17 do begin
    FButtons[i]:=TSpeedButton.Create(Self);
    with FButtons[i] do begin
      Left:=x;
      Top:=1;
      Parent := self;
      Tag := I;
      Flat:=true;

      if (i=4) or (i=13) then begin
        FButtons[i].Enabled:=false;
      end;

      if (i>=1) and (i<=3) then
        GroupIndex:=1;

      if (i<>4) and (i<>13) then
        OnClick:=FOnClick;

      Glyph.LoadFromResourceName(HInstance,GlyphNames[i]);
      x:=x+23;
    end;
  end;

  FButtons[1].Down:=true;
end;

destructor TDrawBar.destroy;
var
  i:integer;
begin
  for i:=1 to 17 do begin
    FButtons[i].free;
  end;

  inherited destroy;
end;

procedure TDrawBar.FOnClick(Sender:TObject);
begin
  if Assigned(FDrawBox) then begin
    case TToolButton(Sender).Tag of
    1:FDrawBox.DrawingTool:=dtSelect;
    2:FDrawBox.DrawingTool:=dtRectangle;
    3:FDrawBox.DrawingTool:=dtPolyLine;
    4:FDrawBox.DrawingTool:=dtZoom;

    5:FDrawBox.Alignment(alLeft);
    6:FDrawBox.Alignment(alHorzCenter);
    7:FDrawBox.Alignment(alRight);
    //8:FDrawBox.Alignment(alWidth);
    9:FDrawBox.Alignment(alTop);
    10:FDrawBox.Alignment(alVertCenter);
    11:FDrawBox.Alignment(alBottom);
    //12:FDrawBox.Alignment(alHeight);
    13:;
    14:;
    15:;
    16:;
    17:;
    18:;
    end;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产综合色视频| 国产精品亲子伦对白| 夫妻av一区二区| 亚洲福利电影网| 久久色成人在线| 欧美高清dvd| 97精品久久久午夜一区二区三区 | 欧美一区二区在线视频| 国产成a人亚洲精品| 三级影片在线观看欧美日韩一区二区| 国产精品久久三区| 精品福利在线导航| 欧美高清视频在线高清观看mv色露露十八| 99久久精品国产观看| 国产一区二区三区电影在线观看| 亚洲国产日韩av| 亚洲色欲色欲www| 国产精品免费视频一区| 日韩欧美激情一区| 在线播放91灌醉迷j高跟美女 | 国产精品福利电影一区二区三区四区| 日本国产一区二区| 成人午夜在线播放| 高潮精品一区videoshd| 国产一区二区三区蝌蚪| 精品一区二区综合| 日韩av电影免费观看高清完整版 | 韩国一区二区三区| 蜜臀久久久久久久| 日韩精品1区2区3区| 亚洲国产精品视频| 亚洲国产成人av好男人在线观看| 亚洲精品视频在线观看网站| ...中文天堂在线一区| 国产精品久久夜| 综合激情成人伊人| 亚洲欧美在线视频观看| 自拍偷拍国产精品| 亚洲色图清纯唯美| 一区二区三区四区蜜桃| 一区二区三区欧美久久| 亚洲乱码国产乱码精品精98午夜| 亚洲视频免费看| 一区二区三区四区不卡视频| 亚洲免费在线观看视频| 亚洲乱码国产乱码精品精可以看| 一卡二卡三卡日韩欧美| 亚洲在线观看免费| 天堂av在线一区| 欧美色男人天堂| 国产夫妻精品视频| 成人性生交大片免费看在线播放| 国产精品99久久久久久似苏梦涵| 国产精品99久| av中文字幕一区| 欧美亚洲高清一区| 91精品国产综合久久久久| 欧美成人性战久久| 亚洲国产精品成人综合色在线婷婷| 欧美激情一区二区三区不卡| 亚洲天堂2014| 日韩国产在线观看一区| 激情久久五月天| 成人久久18免费网站麻豆| 日本高清不卡在线观看| 宅男噜噜噜66一区二区66| 26uuu久久天堂性欧美| 国产精品麻豆久久久| 亚洲一区二区视频在线观看| 麻豆传媒一区二区三区| 高清av一区二区| 欧美日韩国产成人在线91| 久久一区二区三区四区| 一区二区三区在线观看视频| 免费观看日韩av| 成人av电影在线网| 欧美日韩高清在线| 国产女同性恋一区二区| 亚洲精品国产无天堂网2021| 免费成人结看片| 99这里只有久久精品视频| 欧美日韩一区精品| 国产三级精品三级在线专区| 亚洲国产一区二区视频| 国产精品综合在线视频| 国产亚洲美州欧州综合国| 亚洲天堂av老司机| 久草在线在线精品观看| 色婷婷激情久久| 亚洲精品在线三区| 一区二区三区国产精华| 精品亚洲成a人在线观看| 91福利视频久久久久| 精品国产伦理网| 亚洲一卡二卡三卡四卡| 国产aⅴ精品一区二区三区色成熟| 欧美视频日韩视频在线观看| 国产色产综合产在线视频| 婷婷综合久久一区二区三区| www.欧美日韩国产在线| 欧美成人国产一区二区| 亚洲超丰满肉感bbw| 成人免费av资源| 精品国产伦一区二区三区免费| 一区二区三区久久| 成人激情免费网站| 亚洲精品一区二区三区福利| 亚洲国产成人porn| 色婷婷精品大视频在线蜜桃视频| 国产欧美日韩视频一区二区| 美女视频黄免费的久久 | 欧美韩国日本不卡| 九一久久久久久| 欧美一区二区三区爱爱| 亚洲综合精品自拍| 91亚洲精品乱码久久久久久蜜桃| 中文字幕免费一区| 欧美天堂一区二区三区| 成人免费看视频| 久久免费视频一区| 国内欧美视频一区二区| 日韩一区二区三区精品视频| 亚洲第一在线综合网站| 在线国产亚洲欧美| 亚洲精品写真福利| 91亚洲午夜精品久久久久久| 中文字幕在线播放不卡一区| 国产成人福利片| 久久久久久久久久看片| 国产尤物一区二区| 精品粉嫩aⅴ一区二区三区四区| 日本va欧美va瓶| 欧美一区日本一区韩国一区| 美腿丝袜一区二区三区| 日韩欧美中文一区| 久久超碰97中文字幕| 亚洲人精品一区| 在线视频一区二区三区| 伊人性伊人情综合网| 欧美在线观看视频在线| 亚洲午夜国产一区99re久久| 欧美在线免费视屏| 日本中文字幕不卡| 欧美tickling挠脚心丨vk| 韩日精品视频一区| 国产欧美一区二区三区鸳鸯浴| 国产99一区视频免费| 日韩一区欧美小说| 在线观看日韩国产| 天天操天天色综合| 日韩免费在线观看| 国产一区二区三区不卡在线观看 | av不卡在线播放| 亚洲少妇最新在线视频| 欧美日韩一区精品| 精品影视av免费| 国产精品美女久久福利网站| 91在线你懂得| 日本一不卡视频| 国产无人区一区二区三区| av高清不卡在线| 视频一区视频二区中文字幕| 精品蜜桃在线看| av欧美精品.com| 亚洲大片一区二区三区| 日韩一区二区在线观看视频| 岛国av在线一区| 亚洲国产日韩a在线播放性色| 综合久久久久综合| 亚洲综合一区二区| av动漫一区二区| 亚洲小说春色综合另类电影| 精品国产免费人成在线观看| 99久免费精品视频在线观看| 水野朝阳av一区二区三区| 欧美精品一区二区三区视频| 成人h版在线观看| 首页国产欧美久久| 久久久亚洲高清| 欧美在线视频日韩| 国产乱子轮精品视频| 亚洲免费大片在线观看| 精品欧美乱码久久久久久1区2区| 99精品视频一区二区三区| 日韩高清在线电影| 综合色中文字幕| 久久蜜桃av一区精品变态类天堂 | 国产婷婷一区二区| 欧美日韩精品系列| 成人精品视频一区二区三区尤物| 亚洲成人一区在线| 国产精品蜜臀在线观看| 欧美一级搡bbbb搡bbbb| 91在线视频观看| 国产成人亚洲精品青草天美| 午夜影院在线观看欧美| 国产精品成人网| 精品国产sm最大网站| 欧美日韩国产在线播放网站| 成人黄色综合网站|