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

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

?? prvieweh.pas

?? delphi控件類
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    YOffSet := DefaultPrinterPhysicalOffSetY;
  end;
  FullWidth := Parent.Printer.PageWidth + XOffSet*2;
  FullHeight := Parent.Printer.PageHeight + YOffSet*2;
  with Canvas do
  begin
    Brush.Color:=clWhite;
    Brush.Style:=bsSolid;
    FillRect(ClientRect);
    SetMapMode(Canvas.Handle,mm_AnIsotropic);
    SetWindowExtEx(Canvas.Handle,FullWidth,FullHeight,nil);
    SetViewportExtEx(Canvas.Handle,Width,Height,nil);
    SetViewportOrgEx(Canvas.Handle,Trunc(XOffSet * Width / FullWidth) ,
      Trunc(YOffSet * Height / FullHeight),nil);

    if Parent.Printer.Printers.Count > 0 then
    begin
      Font.PixelsPerInch:=GetDeviceCaps(Parent.Printer.Handle,LOGPIXELSX);
      if Font.PixelsPerInch > GetDeviceCaps(Parent.Printer.Handle,LOGPIXELSY) then
        Font.PixelsPerInch := GetDeviceCaps(Parent.Printer.Handle,LOGPIXELSY);
    end
    else
      Font.PixelsPerInch := DefaultPrinterPixelsPerInchX;

    if Assigned(Parent.Printer) and (Parent.PageCount > 0) then
      Parent.Printer.DrawPage(Self,Self.Canvas,Parent.PageIndex);
  end;
end;

procedure TDrawPanel.WMCancelMode(var Message: TWMCancelMode);
begin
  inherited;
  if Cursor = crHand then Cursor := crMagnifier;
end;

{ TPreviewBox }

constructor TPreviewBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle - [csAcceptsControls]; //clip_children
  FViewMode := vmFullPage;
  FPageCount := 0;
  FPageIndex := 1;
  pnlShadow := TPanel.Create(Self{AOwner});
  with pnlShadow do
  begin
    ControlStyle := ControlStyle - [csAcceptsControls];
    Parent:=Self;
    BevelOuter := bvNone;
    Color := 4210752;
    Enabled := False;
    TabOrder := 0;
    //Visible := False;
  end;
  FDrawPanel := TDrawPanel.Create(Self{AOwner});
  with FDrawPanel do
  begin
    ControlStyle := ControlStyle - [csAcceptsControls];
    Parent := Self;
    BevelOuter := bvNone;
    ParentCtl3D := False;
    Ctl3D := False;
    BorderStyle := bsSingle;
    Left := 8;
    Top := 8;
  end;
  FPrinter := TPrinterPreview.Create;
  FPrinter.Previewer := Self;
  HorzScrollBar.Tracking := True;
  VertScrollBar.Tracking := True;
  FScalePercent := 100;
end;

destructor TPreviewBox.Destroy;
begin
  FPrinter.Free;
  inherited;
end;

procedure TPreviewBox.CreateParams(var Params: TCreateParams);
const
  BorderStyles: array[TBorderStyle] of DWORD = (0, WS_BORDER);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or WS_CLIPCHILDREN;
end;

procedure TPreviewBox.KeyDown(var Key: Word; Shift: TShiftState);
begin
  inherited;
  with VertScrollBar do
    case Key of
      VK_UP:
        if ssCtrl in Shift then Position:=Position-ClientHeight+Increment
        else Position:=Position-Increment;
      VK_Down:
        if ssCtrl in Shift then Position:=Position+ClientHeight-Increment
        else Position:=Position+Increment;
      VK_Prior:
        if ssCtrl in Shift then Position:=0
        else Position:=Position-ClientHeight+Increment;
      VK_Next:
        if ssCtrl in Shift then Position:=Range
        else Position:=Position+ClientHeight-Increment;
    end;
  with HorzScrollBar do
    case Key of
      VK_Left:
        if ssCtrl in Shift then Position:=Position-ClientWidth+Increment
        else Position:=Position-Increment;
      VK_Right:
        if ssCtrl in Shift then Position:=Position+ClientWidth-Increment
        else Position:=Position+Increment;
      VK_Home:
        if ssCtrl in Shift then
        begin
          Position:=0;
          VertScrollBar.Position:=0;
        end
        else Position:=0;
      VK_End:
        if ssCtrl in Shift then
        begin
          Position:=Range;
          VertScrollBar.Position:=VertScrollBar.Range;
        end
        else Position:=Range;
    end;
end;

procedure TPreviewBox.MouseDown(Button: TMouseButton; Shift: TShiftState;
  X, Y: Integer);
begin
  SetFocus;
end;

procedure TPreviewBox.PrintDialog;
var Page:Integer;
    OldPrinter:TPrinter;
begin
  OldPrinter := PrintersSetPrinter(Printer.Printer);
  try
    with TPrintDialog.Create(Owner) do
    try
      Options:=Options + [poPageNums];
      MinPage:=1;
      MaxPage:=PageCount;
      FromPage:=1;
      ToPage:=PageCount;
      if Execute then
        if Assigned(Printer) then
        begin
          if Printer.FMetafileList.Count = 0 then Exit;
          with PrintersPrinter do
          begin
            BeginDoc;
            for Page := FromPage to ToPage do
            begin
              Printer.DrawPage(Printer,Canvas,Page);
              if Page < ToPage then NewPage;
            end;
            EndDoc;
          end;
        end;
     finally
       Free;
     end;
   finally
    PrintersSetPrinter(OldPrinter);
  end;
end;

procedure TPreviewBox.PrinterSetupDialog;
var OldPrinter:TPrinter;
begin
  OldPrinter := PrintersSetPrinter(Printer.Printer);
  try
    if Assigned(OnPrinterSetupDialog) then
      OnPrinterSetupDialog(Self)
    else
      with TPrinterSetupDialog.Create(Owner) do
        try
          if Execute then
          begin
            UpdatePageSetup;
            if Assigned(FOnPrinterSetupChanged)
              then FOnPrinterSetupChanged(Self);
          end;
        finally
          Free;
        end;
  finally
    PrintersSetPrinter(OldPrinter);
  end;
end;

procedure TPreviewBox.SetPageIndex(Value: Integer);
begin
  if Value < 1 then Value := 1;
  if Value > PageCount then Value := PageCount;
  if Value <> FPageIndex then
  begin
    FPageIndex := Value;
    UpdatePreview;
    if Assigned(OnPrinterPreviewChanged) then OnPrinterPreviewChanged(Self);
  end;
end;

procedure TPreviewBox.SetPrinter(const Value: TPrinterPreview);
begin
  FPrinter := Value;
end;

procedure TPreviewBox.SetViewMode(const Value: TViewMode);
begin
  if Value<>FViewMode then
  begin
    FViewMode:=Value;
    UpdatePageSetup;
  end;
  if Assigned(OnPrinterPreviewChanged) then OnPrinterPreviewChanged(Self);
end;

procedure TPreviewBox.UpdatePageSetup;
var
  Scaling: Integer;
  ALeft,ATop,AWidth,AHeight:Integer;
begin
//  pnlShadow.Visible:=False;
//  LockWindowUpdate(Handle);
  try
  with FDrawPanel,Printer do
  begin
     ALeft := Left; ATop := Top; AWidth := Width; AHeight := Height;
//    Visible:=False;
    case FViewMode of
      vm500: Scaling:=500;
      vm200: Scaling:=200;
      vm150: Scaling:=150;
      vm100: Scaling:=100;
      vm75: Scaling:=75;
      vm50: Scaling:=50;
      vm25: Scaling:=25;
      vm10: Scaling:=10;
      vmPageWidth: // on width pages
      begin
        VertScrollBar.Position:=0;
        HorzScrollBar.Position:=0;
        Scaling:=1;
        ALeft:=8;
        ATop:=8;
        AWidth:=Self.Width-20-GetSystemMetrics(sm_CXVScroll);
        if Printer.Printers.Count > 0 then
        begin
          AHeight:=AWidth*GetDeviceCaps(Printer.Handle,VertSize) div
            GetDeviceCaps(Printer.Handle,HorzSize);
          FScalePercent := AWidth * 100 div (PageWidth*(Self.Owner as TForm).PixelsPerInch div
            GetDeviceCaps(Printer.Handle,LOGPIXELSX));
        end else
        begin
          AHeight:=AWidth * DefaultPrinterVerticalSizeMM div
            DefaultPrinterHorizontalSizeMM;
          FScalePercent := AWidth * 100 div (PageWidth*(Self.Owner as TForm).PixelsPerInch div
            DefaultPrinterPixelsPerInchX);
        end;
        VertScrollBar.Range:=AHeight+16;
        HorzScrollBar.Range:=0;
      end;
      vmFullPage: // 耱疣龕鱘 鰣腓覲

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久嫩草精品久久久精品一| 粉嫩av一区二区三区| 激情国产一区二区| 成人在线综合网| 欧美在线观看视频一区二区 | 欧美精品一区二区三区四区| 国产三级欧美三级日产三级99 | 色婷婷久久综合| 欧美日本韩国一区二区三区视频 | 国产传媒久久文化传媒| 色综合久久久久久久久久久| 欧美一级一级性生活免费录像| 久久久久亚洲蜜桃| 亚洲国产中文字幕| 国产自产2019最新不卡| 在线精品视频一区二区| 欧美成人免费网站| 樱花影视一区二区| 26uuu国产在线精品一区二区| 奇米一区二区三区| 成人性生交大片免费| 欧美日韩日日骚| 中文字幕欧美日本乱码一线二线| 亚洲午夜一区二区三区| 国产一区二区在线观看免费| 欧美在线一区二区三区| 久久婷婷综合激情| 五月天久久比比资源色| 成人在线视频一区二区| 国产精品久久久久影院老司| 免费高清在线视频一区·| 日本精品免费观看高清观看| 久久亚洲精品小早川怜子| 亚洲大片一区二区三区| aaa亚洲精品| 久久一日本道色综合| 亚洲成人免费在线| 91一区二区三区在线观看| 2020国产成人综合网| 三级一区在线视频先锋| 色88888久久久久久影院野外 | 免费国产亚洲视频| 在线观看三级视频欧美| 国产一区三区三区| 97se亚洲国产综合自在线| 精品盗摄一区二区三区| 午夜激情一区二区三区| 色狠狠av一区二区三区| 国产精品网站导航| 精久久久久久久久久久| 91精品国产色综合久久| 亚洲国产成人va在线观看天堂| 99在线精品观看| 国产日韩成人精品| 国产精品一区二区久久精品爱涩 | 日韩av网站免费在线| 欧美亚洲一区二区三区四区| 国产精品二区一区二区aⅴ污介绍| 国内精品伊人久久久久av影院| 欧美精品乱码久久久久久按摩| 亚洲精品视频免费观看| 99精品视频在线观看免费| 欧美国产国产综合| 粉嫩aⅴ一区二区三区四区| 久久久久久9999| 国产美女在线精品| 2024国产精品| 国产精品一区久久久久| 久久精品视频一区二区三区| 黄页网站大全一区二区| 久久久亚洲高清| 免费人成精品欧美精品| 日韩情涩欧美日韩视频| 久久精品国产久精国产| 久久综合久久综合久久综合| 久草精品在线观看| 久久综合九色综合欧美就去吻| 国内精品不卡在线| 国产日本亚洲高清| 成人黄色一级视频| 专区另类欧美日韩| 在线观看国产日韩| 天天免费综合色| 日韩丝袜美女视频| 欧美色综合天天久久综合精品| 亚洲欧美日韩国产成人精品影院 | 亚洲精品视频一区二区| 91福利小视频| 天堂一区二区在线| 精品伦理精品一区| 懂色av一区二区夜夜嗨| 国产精品污污网站在线观看| 99精品在线免费| 亚洲主播在线播放| 宅男在线国产精品| 国产精品一二三四区| 成人欧美一区二区三区白人| 欧美性三三影院| 青青草国产精品97视觉盛宴| 久久亚洲一级片| 99在线精品观看| 视频一区二区三区在线| 久久精品一区八戒影视| 91视频在线看| 视频一区在线播放| 久久男人中文字幕资源站| 99久久久久久| 天天操天天色综合| 国产亚洲欧美色| 色老头久久综合| 久久精品二区亚洲w码| 国产精品动漫网站| 9191成人精品久久| 国产91精品入口| 亚洲一二三四区| 欧美成人精品福利| 日本道免费精品一区二区三区| 男女性色大片免费观看一区二区 | 波波电影院一区二区三区| 亚洲大片在线观看| 中文字幕欧美国产| 欧美日韩精品欧美日韩精品一综合| 免费欧美日韩国产三级电影| 亚洲国产高清aⅴ视频| 欧美日韩夫妻久久| 成人国产一区二区三区精品| 视频一区二区中文字幕| 国产精品久久久久久亚洲伦| 制服丝袜激情欧洲亚洲| 成人av免费在线| 美国欧美日韩国产在线播放| 最近日韩中文字幕| 日韩精品一区二| 在线观看av一区二区| 极品少妇xxxx精品少妇| 亚洲在线免费播放| 国产精品美女一区二区三区| 欧美一区二区久久| 色综合av在线| 国产a久久麻豆| 日本视频免费一区| 亚洲自拍与偷拍| 国产精品久久久久久亚洲伦| 日韩欧美国产综合在线一区二区三区| 精品免费国产二区三区 | 视频一区国产视频| 亚洲欧美激情视频在线观看一区二区三区| 日韩一二三区视频| 欧美日韩亚洲国产综合| 91亚洲精品久久久蜜桃| 国产成人8x视频一区二区 | 欧美一级爆毛片| 一本色道久久综合亚洲aⅴ蜜桃 | 国产欧美精品一区二区色综合 | 亚洲va欧美va国产va天堂影院| 欧美韩日一区二区三区四区| 日韩视频一区在线观看| 欧美午夜一区二区三区| 97精品久久久久中文字幕| 粉嫩久久99精品久久久久久夜 | 久久久久久久久久久久久久久99| 在线播放视频一区| 欧美午夜视频网站| 色偷偷成人一区二区三区91| 国产宾馆实践打屁股91| 韩国三级中文字幕hd久久精品| 热久久国产精品| 亚洲va韩国va欧美va精品| 一区二区三区高清| 亚洲美女免费视频| 亚洲欧美日韩国产综合在线| 日韩一区在线看| 亚洲欧洲成人自拍| 国产精品久久久久7777按摩| 国产午夜亚洲精品羞羞网站| 久久午夜羞羞影院免费观看| 欧美电视剧在线看免费| 欧美成人精品3d动漫h| 欧美成人激情免费网| 欧美大片在线观看一区二区| 日韩精品综合一本久道在线视频| 欧美一区二区视频网站| 欧美精品1区2区| 日韩视频在线一区二区| 精品久久久三级丝袜| 欧美电影免费观看完整版| 欧美大片在线观看| 欧美成人vr18sexvr| 久久久久久久久一| 国产欧美久久久精品影院 | 色婷婷久久久综合中文字幕| 99视频有精品| 色综合激情五月| 欧美探花视频资源| 欧美福利视频导航| 日韩欧美国产电影| 久久久久国产精品麻豆ai换脸| 久久久不卡影院| 国产精品毛片大码女人| 亚洲欧洲综合另类在线|