QuickReportで斜線を引きたいのですが

解決


yu  2010-12-02 17:50:16  No: 39635

QuickReportで印刷帳票を作成しております。
作成する帳票の中でエクセルのように内容が入らない部分に斜線(/)を引きたいのですがよくわかりません。御存じの方いらっしゃいませんか?


かず  2010-12-05 00:17:59  No: 39636

QuickReportでは斜線が引けません。
斜線を引いたビットマップを張る方法は如何でしょうか。


小豚丸  2010-12-05 09:51:10  No: 39637

QuickReportのQRShapeコンポーネントのShapeプロパティを
qrsRightDiagonalにすればできます。

今はバージョン5を使ってますが、確かにバージョン4以上
は可能と記憶にあります。


yu  2010-12-07 00:45:27  No: 39638

かずさま子豚丸様有難うございました。私の持っているVER4では、使えないようなのでVER5にアップデートいたします。


おかぽん  2010-12-08 00:28:06  No: 39639

解決してますが、どぞ〜。
プレビューまでしか確認していませんけど。

unit QRTest;

interface

uses
  QuickRpt;

type
  TQRRightDiagonal = class(TQRPrintable)
  protected
    procedure Paint; override;
    procedure Print(OfsX, OfsY : integer); override;
  end;

procedure Register;

implementation

uses
  Classes, Graphics,
  QRPrntr;

procedure Register;
begin
  RegisterComponents('QR Sample', [TQRRightDiagonal]);
end;

procedure TQRRightDiagonal.Paint;
begin
  inherited paint;
  Canvas.Pen.Color := clBlack;
  Canvas.Pen.Style := psSolid;
  Canvas.Pen.Width := 1;
  Canvas.MoveTo(Width,0);
  Canvas.LineTo(0,Height-1);
end;
procedure TQRRightDiagonal.Print(OfsX, OfsY : integer);
begin
  if ParentReport.FinalPass and Enabled then begin
    QRPrinter.Canvas.Pen.Color := clBlack;
    QRPrinter.Canvas.Pen.Style := psSolid;
    QRPrinter.Canvas.Pen.Width := 1;
    QRPrinter.Canvas.MoveTo(QRPrinter.XPos(OfsX + Size.Left + Size.Width),
      QRPrinter.YPos(OfsY + Size.Top));
    QRPrinter.Canvas.LineTo(QRPrinter.XPos(OfsX + Size.Left),
      QRPrinter.YPos(OfsY + Size.Top + Size.Height));
  end;
end;

end.


yu  2010-12-08 17:33:58  No: 39640

おかぽん様  有難うございます。
TRYしてみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加