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

解決


yu  2010-12-02 08:50:16  No: 39635  IP: 192.*.*.*

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

編集 削除
かず  2010-12-04 15:17:59  No: 39636  IP: 192.*.*.*

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

編集 削除
小豚丸  2010-12-05 00:51:10  No: 39637  IP: 192.*.*.*

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

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

編集 削除
yu  2010-12-06 15:45:27  No: 39638  IP: 192.*.*.*

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

編集 削除
おかぽん  2010-12-07 15:28:06  No: 39639  IP: 192.*.*.*

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

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 08:33:58  No: 39640  IP: 192.*.*.*

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

編集 削除