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

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

?? prvieweh.pas

?? EHlib CN For Delphi2009
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
end;

procedure TPrinterPreview.Abort;
begin
  FAborted := True;
end;

procedure TPrinterPreview.BeginDoc;
var i: Integer;
  FontSize: Integer;
begin
  for i := 0 to FMetafileList.Count - 1 do TMetaFile(FMetafileList[i]).Free;
  FMetafileList.Clear;

  FMetafileList.Add(TMetaFile.Create());
  if Printer.Printers.Count > 0
    then FMetafileCanvas := TMetafileCanvas.Create(
      TMetafile(FMetafileList[FMetafileList.Count - 1]), Printer.Handle {0})
  else FMetafileCanvas := TMetafileCanvas.Create(
      TMetafile(FMetafileList[FMetafileList.Count - 1]), 0);
  FontSize := FMetafileCanvas.Font.Size;

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

  FMetafileCanvas.Font.Size := FontSize;
  FPageNumber := 1;
  FAborted := False;
  FPrinting := True;
  Previewer.FPageCount := 1;
  Previewer.FPageIndex := 1;
  if Assigned(Previewer.OnPrinterPreviewChanged)
    then Previewer.OnPrinterPreviewChanged(Self);
end;

procedure TPrinterPreview.NewPage;
var FontSize: Integer;
begin
  FMetafileList.Add(TMetaFile.Create());
  FMetafileCanvas.Free;
  if FMetafileList.Count = 2 then
    Previewer.UpdatePageSetup; //UpdatePreview;
  if Printer.Printers.Count > 0 then
    FMetafileCanvas := TMetafileCanvas.Create(
      TMetafile(FMetafileList[FMetafileList.Count - 1]), Printer.Handle {0})
  else
    FMetafileCanvas := TMetafileCanvas.Create(
      TMetafile(FMetafileList[FMetafileList.Count - 1]), 0);
  FontSize := FMetafileCanvas.Font.Size;
  if Printer.Printers.Count > 0 then
  begin
    FMetafileCanvas.Font.PixelsPerInch := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
    if FMetafileCanvas.Font.PixelsPerInch > GetDeviceCaps(Printer.Handle, LOGPIXELSY) then
      FMetafileCanvas.Font.PixelsPerInch := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
  end
  else
    FMetafileCanvas.Font.PixelsPerInch := DefaultPrinterPixelsPerInchX;
  FMetafileCanvas.Font.Size := FontSize;
  Inc(FPageNumber);
  Previewer.FPageCount := FMetafileList.Count - 1;
  //if Assigned(Previewer.OnNeedOpenPreview) then Previewer.OnNeedOpenPreview(Self);
  OpenPreview;
  if Assigned(Previewer.OnPrinterPreviewChanged)
    then Previewer.OnPrinterPreviewChanged(Self);
end;

procedure TPrinterPreview.EndDoc;
begin
  FreeAndNil(FMetafileCanvas);
  Previewer.FPageCount := FMetafileList.Count;
  if FMetafileList.Count = 1 then Previewer.UpdatePageSetup; // UpdatePreview;
  FPageNumber := -1;
  FPrinting := False;
  Previewer.FOnPrinterSetupDialog := OnPrinterSetupDialog;
  OnPrinterSetupDialog := nil;
  Previewer.FOnPrinterSetupChanged := OnPrinterSetupChanged;
  OnPrinterSetupChanged := nil;
  Previewer.PrinterSetupOwner := PrinterSetupOwner;
  PrinterSetupOwner := nil;
  //if Assigned(Previewer.OnNeedOpenPreview) then Previewer.OnNeedOpenPreview(Self);
  OpenPreview;
  if Assigned(Previewer.OnPrinterPreviewChanged)
    then Previewer.OnPrinterPreviewChanged(Self);
end;

function TPrinterPreview.GetAborted: Boolean;
begin
  Result := FAborted;
end;

function TPrinterPreview.GetCanvas: TCanvas;
begin
  Result := FMetafileCanvas;
end;

function TPrinterPreview.GetFonts: TStrings;
begin
  Result := Printer.Fonts;
end;

function TPrinterPreview.GetNumCopies: Integer;
begin
  Result := Printer.Copies;
end;

function TPrinterPreview.GetOrientation: TPrinterOrientation;
begin
  Result := Printer.Orientation;
end;

function TPrinterPreview.GetPageHeight: Integer;
begin
  if Printer.Printers.Count > 0
    then Result := Printer.PageHeight
    else Result := DefaultPrinterPageHeight;
end;

function TPrinterPreview.GetPageNumber: Integer;
begin
  Result := FPageNumber;
end;

function TPrinterPreview.GetPageWidth: Integer;
begin
  if Printer.Printers.Count > 0
    then Result := Printer.PageWidth
    else Result := DefaultPrinterPageWidth;
end;

function TPrinterPreview.GetPrinting: Boolean;
begin
  Result := FPrinting;
end;

function TPrinterPreview.GetTitle: String;
begin
  Result := Printer.Title;
end;

procedure TPrinterPreview.DrawPage(Sender: TObject;
  Canvas: TCanvas; PageNumber: Integer);
begin
  Canvas.Draw(0, 0, TMetafile(FMetafileList[PageNumber - 1]));
end;

procedure TPrinterPreview.SetNumCopies(const Value: Integer);
begin
  Printer.Copies := Value;
end;

procedure TPrinterPreview.SetOnPrinterSetupDialog(const Value: TNotifyEvent);
begin
  FOnPrinterSetupDialog := Value;
end;

procedure TPrinterPreview.SetOrientation(const Value: TPrinterOrientation);
begin
  Printer.Orientation := Value;
end;

procedure TPrinterPreview.SetTitle(const Value: string);
begin
  Printer.Title := Value;
end;

procedure TPrinterPreview.ShowProgress(Percent: Integer);
begin
end;

function TPrinterPreview.GetPropPrinter: TPrinter;
begin
  Result := FPrinter;
end;

function TPrinterPreview.GetFullPageHeight: Integer;
begin
  if Printer.Printers.Count > 0 then
    Result := Printer.PageHeight + GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY) * 2
  else
    Result := DefaultPrinterPageHeight + DefaultPrinterPhysicalOffSetY * 2;
end;

function TPrinterPreview.GetFullPageWidth: Integer;
begin
  if Printer.Printers.Count > 0 then
    Result := Printer.PageWidth + GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX) * 2
  else
    Result := DefaultPrinterPageWidth + DefaultPrinterPhysicalOffSetX * 2;
end;

function TPrinterPreview.GetHandle: HDC;
begin
  Result := Printer.Handle;
end;

function TPrinterPreview.GetPixelsPerInchX: Integer;
begin
  if Printer.Printers.Count > 0 then
    Result := GetDeviceCaps(Printer.Handle, LOGPIXELSX)
  else
    Result := DefaultPrinterPixelsPerInchX;
end;

function TPrinterPreview.GetPixelsPerInchY: Integer;
begin
  if Printer.Printers.Count > 0 then
    Result := GetDeviceCaps(Printer.Handle, LOGPIXELSY)
  else
    Result := DefaultPrinterPixelsPerInchY;
end;

{$IFDEF CIL}
procedure TPrinterPreview.GetPrinter(ADevice, ADriver, APort: String; var ADeviceMode: IntPtr);
{$ELSE}
procedure TPrinterPreview.GetPrinter(ADevice, ADriver, APort: PChar; var ADeviceMode: THandle);
{$ENDIF}
begin
  Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode);
end;

{$IFDEF CIL}
procedure TPrinterPreview.SetPrinter(ADevice, ADriver, APort: String; ADeviceMode: IntPtr);
{$ELSE}
procedure TPrinterPreview.SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
{$ENDIF}
begin
  Printer.SetPrinter(ADevice, ADriver, APort, ADeviceMode);
end;

function TPrinterPreview.GetCapabilities: TPrinterCapabilities;
begin
  Result := Printer.Capabilities;
end;

function TPrinterPreview.GetPrinterIndex: Integer;
begin
  Result := Printer.PrinterIndex;
end;

function TPrinterPreview.GetPrinters: TStrings;
begin
  Result := Printer.Printers;
end;

procedure TPrinterPreview.SetPrinterIndex(const Value: Integer);
begin
  Printer.PrinterIndex := Value;
end;

{
function TPrinterPreview.Previewer: TPreviewBox;
begin
  Result := nil;
  if Assigned(OnGetPreviewer) then Result := OnGetPreviewer(Self);
  if not Assigned(Result) then
  begin
    if not Assigned(PreviewFormEh) then PreviewFormEh := TPreviewFormEh.Create(Application.MainForm);
    Result := PreviewFormEh.PreviewEh1;
  end;
end;
}

procedure TPrinterPreview.OpenPreview;
begin
  if Assigned(Previewer.OnOpenPreviewer) then Previewer.OnOpenPreviewer(Self);

{  if Assigned(OnOpenPreviewer) then OnOpenPreviewer(Self)
  else if not Assigned(PreviewFormEh) then
  begin
    PreviewFormEh := PreviewFormEh.Create(Application.MainForm);
    PreviewFormEh.Show;
  end
  else
  begin
    if IsIconic(PreviewFormEh.Handle) then ShowWindow(PreviewFormEh.Handle,sw_Restore);
    BringWindowToTop(PreviewFormEh.Handle);
    if not PreviewFormEh.Visible then PreviewFormEh.Show;
  end;}
end;

procedure TPrinterPreview.Print;
var
  Page: Integer;
  OldPrinter: TPrinter;
begin
  if FMetafileList.Count = 0 then Exit;
  OldPrinter := PrintersSetPrinter(Printer);
  try
    with PrintersPrinter do
    begin
      BeginDoc;
      for Page := 0 to FMetafileList.Count - 1 do
      begin
        DrawPage(Self, Canvas, Page + 1);
        if Page < FMetafileList.Count - 1 then NewPage;
      end;
      EndDoc;
    end;
  finally
    PrintersSetPrinter(OldPrinter);
  end;
end;

function PrinterPreview: TPrinterPreview;
begin
  if FPrinterPreview = nil then
  begin
    PreviewFormEh := TPreviewFormEh.Create(Application);
    FPrinterPreview := PreviewFormEh.PreviewEh1.Printer;
  end;
  Result := FPrinterPreview;
end;

function SetPrinterPreview(NewPrinterPreview: TPrinterPreview): TPrinterPreview;
begin
  Result := FPrinterPreview;
  FPrinterPreview := NewPrinterPreview;
end;

procedure TPrinterPreview.SetPreviewer(const Value: TPreviewBox);
begin
  FPreviewer := Value;
end;

function DefineCursor(Identifier: String): TCursor;
var
  Handle: HCursor;
begin
{$IFDEF CIL}
  Handle := LoadCursor(hInstance, Identifier);
{$ELSE}
  Handle := LoadCursor(hInstance, PChar(Identifier));
{$ENDIF}
  if Handle = 0 then raise EOutOfResources.Create('Cannot load cursor resource');
  for Result := 1 to High(TCursor) do
    if Screen.Cursors[Result] = Screen.Cursors[crArrow] then
    begin
      Screen.Cursors[Result] := Handle;
      Exit;
    end;
  raise EOutOfResources.Create('Too many user-defined cursors');
end;

initialization
  crMagnifier := DefineCursor('MAGNIFIEREH');
  crHand := DefineCursor('HANDEH');
end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区在线观看视频| 蜜臀久久久久久久| 日本午夜一区二区| 99久久久久久| 欧美mv日韩mv国产网站| 亚洲欧美福利一区二区| 国产乱码精品一区二区三区av | 精品国产伦一区二区三区免费| 国产精品久久久久久一区二区三区| 亚洲成人免费av| 成人精品视频网站| 日韩免费成人网| 亚洲成人动漫在线观看| 不卡av在线免费观看| 欧美变态口味重另类| 亚洲在线中文字幕| 在线免费观看视频一区| 欧美激情一区二区三区蜜桃视频| 美女在线观看视频一区二区| 欧美亚洲综合网| 亚洲视频免费观看| 91在线码无精品| 欧美激情在线一区二区三区| 黄一区二区三区| 51精品秘密在线观看| 亚洲自拍偷拍图区| 欧洲亚洲国产日韩| 亚洲影院免费观看| 欧美在线播放高清精品| 亚洲伦理在线精品| 在线视频一区二区三| 1000部国产精品成人观看| 不卡一区二区三区四区| 国产精品久久久爽爽爽麻豆色哟哟| 国内精品久久久久影院一蜜桃| 555夜色666亚洲国产免| 蜜臀精品一区二区三区在线观看| 制服.丝袜.亚洲.中文.综合| 五月天一区二区| 日韩欧美一二三四区| 久久精品国产精品亚洲综合| 精品欧美久久久| 精品一区二区三区视频在线观看| 欧美精选在线播放| 丝袜美腿高跟呻吟高潮一区| 欧美在线三级电影| 视频一区二区欧美| 欧美私人免费视频| 亚洲国产成人在线| 91色porny| 一区二区三区自拍| 91黄视频在线观看| 亚洲高清在线视频| 欧美丰满一区二区免费视频 | 欧美日韩亚洲综合一区二区三区| 亚洲国产精品ⅴa在线观看| 国产不卡免费视频| 国产精品美女www爽爽爽| 成人永久免费视频| 亚洲国产精品t66y| 99久久精品免费精品国产| 国产精品国产三级国产aⅴ中文| 成人午夜av影视| 亚洲另类中文字| 欧美探花视频资源| 美女一区二区久久| 久久久久久久久岛国免费| 福利电影一区二区三区| 国产日韩精品久久久| 99久久精品国产毛片| 亚洲精品中文在线观看| 欧美色涩在线第一页| 男人操女人的视频在线观看欧美| 精品不卡在线视频| 国产成人a级片| 国产精品久久久久久亚洲毛片| 91福利国产精品| 日韩国产一二三区| 国产午夜精品一区二区| 99久久久久久| 日韩福利电影在线| 久久久国产一区二区三区四区小说| 国产精品一区二区三区网站| 日韩一区有码在线| 欧美一区二区在线观看| 国产一区二区日韩精品| 成人欧美一区二区三区1314| 欧美精品视频www在线观看| 日本va欧美va欧美va精品| 1000精品久久久久久久久| 欧美夫妻性生活| 成人在线视频首页| 日韩电影免费一区| 国产亚洲欧美在线| 欧美视频日韩视频在线观看| 国产美女久久久久| 午夜不卡在线视频| 国产欧美一区二区精品久导航 | 日韩欧美一区二区视频| voyeur盗摄精品| 成人免费观看男女羞羞视频| 亚洲国产精品久久久久婷婷884| 久久伊人中文字幕| 欧美亚洲一区二区在线观看| 国产一区日韩二区欧美三区| 国产日韩精品一区| 91精品国产乱码| 91日韩在线专区| 国产一区二区三区久久久| 偷拍日韩校园综合在线| 日韩美女视频19| 久久色中文字幕| 欧美一区二区在线免费观看| 欧美最猛性xxxxx直播| av一区二区三区在线| 亚洲高清中文字幕| 亚洲午夜久久久久久久久电影网| 国产精品美女久久久久久2018| 日韩一区二区三区av| 欧美日韩一区中文字幕| 色婷婷综合久久久中文字幕| 国产成人亚洲综合a∨猫咪| 日本aⅴ免费视频一区二区三区 | 国产成人亚洲综合a∨婷婷| 日本三级亚洲精品| 午夜精品久久久久影视| 亚洲一区欧美一区| 亚洲欧美日韩国产一区二区三区| 久久精品水蜜桃av综合天堂| 精品国产三级a在线观看| 91黄色在线观看| 欧美性受xxxx黑人xyx| 在线视频中文字幕一区二区| 色噜噜夜夜夜综合网| 91免费观看视频| 成人18精品视频| 色偷偷一区二区三区| 在线观看日韩精品| 欧美三区在线观看| 26uuuu精品一区二区| 欧美精品一区二区高清在线观看| 欧美一区二区视频在线观看2020| 欧美精三区欧美精三区| 7777精品伊人久久久大香线蕉的 | 在线观看免费视频综合| 在线视频一区二区三区| 日本道色综合久久| 欧美日韩一区久久| 91超碰这里只有精品国产| 欧美一区二区三区四区五区| 欧美性色综合网| 日韩欧美视频一区| 国产网红主播福利一区二区| 国产精品乱人伦| 亚洲少妇最新在线视频| 亚洲二区在线视频| 麻豆精品在线观看| 国产成人av资源| 日本乱码高清不卡字幕| 91麻豆精品国产91久久久使用方法 | 制服丝袜国产精品| 久久久久97国产精华液好用吗| 久久久久一区二区三区四区| 亚洲丝袜精品丝袜在线| 国产精品久久久久影院| 青娱乐精品在线视频| 激情文学综合网| 91原创在线视频| 日本大香伊一区二区三区| 欧美精品一二三| 中文av一区二区| 日韩中文字幕亚洲一区二区va在线| 国产福利一区二区三区视频| 色综合色综合色综合色综合色综合 | 久久久美女毛片| 亚洲男人天堂一区| 久久精品国产99| 成人18视频在线播放| 91免费看视频| 国产亚洲婷婷免费| 亚洲女与黑人做爰| 视频一区免费在线观看| 日本高清成人免费播放| 精品福利一区二区三区| 成人免费一区二区三区在线观看| 手机精品视频在线观看| 99精品视频在线观看| 欧美成人bangbros| 亚洲电影一区二区三区| 成人精品国产一区二区4080 | 久久er精品视频| 欧美伊人久久久久久久久影院 | 久久综合久久鬼色中文字| 亚洲国产日韩a在线播放| 美国十次了思思久久精品导航| 国产伦精品一区二区三区免费| 一本大道综合伊人精品热热| 日韩免费高清av| 三级不卡在线观看| 欧美午夜精品理论片a级按摩|