ユーザーがページの向きを変更したときにすべての列ヘッダーとデータが新しいページ幅に自動調整されるように、FastReport でレポートを設計する方法を知っている人はいますか? そこにはアンカーメカニズムが見つかりませんでした。多分私は実行時にそれを行うことができますか?しかし、ページの向きの変更イベントを何らかの方法でキャッチする必要があります。誰でも助けることができますか?
4 に答える
コードからレポート ページの設定を変更する必要がある場合があります (たとえば、用紙の配置やサイズを変更するため)。TfrxReportPage クラスには、ページのサイズを定義する次のプロパティが含まれています。
property Orientation: TPrinterOrientation default poPortrait;
property PaperWidth: Extended;
property PaperHeight: Extended;
property PaperSize: Integer;
«PaperSize» プロパティは用紙フォーマットを設定します。これは、Windows.pas で定義されている標準値の 1 つです (たとえば、DMPAPER_A4)。このプロパティに値が割り当てられている場合、FastReport は «PaperWidth» および «PaperHeight» プロパティを自動的に入力します (用紙サイズはミリメートル)。DMPAPER_USER (または 256) 値をフォーマットとして設定すると、カスタム用紙サイズが設定されます。この場合、«PaperWidth» および «PaperHeight» プロパティは手動で入力する必要があります。
次の例は、最初のページのパラメーターを変更する方法を示しています (既にレポートがあると想定しています)。
パスカル:
var
Page: TfrxReportPage;
{ the first report’s page has [1] index. [0] is the Data page. }
Page := TfrxReportPage(frxReport1.Pages[1]);
{ modify the size }
Page.PaperSize := DMPAPER_A2;
{ modify the paper orientation }
Page.Orientation := poLandscape;
C++:
TfrxReportPage * Page;
// the first report’s page has [1] index. [0] is the Data page.
Page = (TfrxReportPage *)frxReport1.Pages[1];
// modify the size
Page->PaperSize = DMPAPER_A2;
// modify the paper orientation
Page->Orientation = poLandscape;
あなたはできる :
- 各 TfrxMemoview の Align プロパティを使用します...
- スクリプトで作る
iでは、それBeginDoc
を使用してプロパティにアクセスできます(frxPrincipal.FindObject('Page1') as TfrxReportPage).PaperSize := DMPAPER_A4;