原創(chuàng)|其它|編輯:郝浩|2012-12-04 10:38:14.000|閱讀 524 次
概述:你可以在自定義向?qū)У膸椭拢瑪U(kuò)展FastReport VCL報(bào)表功能。通過“File >|New…”菜單項(xiàng)調(diào)用FastReport VCL中包含的標(biāo)準(zhǔn)“Report Wizard”。FastReport VCL 支持2種類型的向?qū)?。上述提到的是第一種類型的向?qū)Вㄟ^“File >|New…”菜單項(xiàng)調(diào)用它。第二種類型的向?qū)ㄟ^“Wizards”工具欄來對(duì)其進(jìn)行調(diào)用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
你可以在自定義向?qū)У膸椭?,擴(kuò)展FastReport VCL報(bào)表功能。通過“File >|New…”菜單項(xiàng)調(diào)用FastReport VCL中包含的標(biāo)準(zhǔn)“Report Wizard”。FastReport VCL 支持2種類型的向?qū)?。上述提到的是第一種類型的向?qū)Вㄟ^“File >|New…”菜單項(xiàng)調(diào)用它。第二種類型的向?qū)ㄟ^“Wizards”工具欄來對(duì)其進(jìn)行調(diào)用。
“TfrxCustomWizard”是任何向?qū)ь愋偷幕?,?“frxClass” 文件中,已對(duì)其作了聲明:
TfrxCustomWizard = class(TComponent) Public Constructor Create(AOwner: TComponent); override; class function GetDescription: String; virtual; abstract; function Execute: Boolean; virtual; abstract; property Designer: TfrxCustomDesigner read FDesigner; property Report: TfrxReport read FReport; end;
你可以從“TfrxCustomWizard”基類中繼承你自己的向?qū)В⑶抑辽僦貙?ldquo;GetDescription”和“Execute” 方法。第一種方法返回向?qū)У拿Q;當(dāng)運(yùn)行向?qū)r(shí),便調(diào)用第二種方法。如何完成向?qū)Р僮鞑?duì)報(bào)表進(jìn)行了修改,第二種方法便返回為“True”。運(yùn)行向?qū)r(shí),通過“Designer”和“Report” 屬性,你可以像平時(shí)一樣訪問設(shè)計(jì)器,報(bào)表方法和屬性。
利用“frxDsgnIntf”文件中所定義的程序?qū)崿F(xiàn)向?qū)ё?cè)和刪除。
frxWizards.Register(ClassRef: TfrxWizardClass; ButtonBmp: TBitmap; IsToolbarWizard: Boolean = False); frxWizards.Unregister(ClassRef: TfrxWizardClass);
在向?qū)ё?cè)過程中,需要提供向?qū)ь惷瑘D片以及向?qū)欠穹胖玫?“Wizards” 工具欄上。如果向?qū)П环胖玫焦ぞ邫谏?,ButtonBmp大小可以為16×16像素或者32x32像素。
接下來的示例,我們就用本文中所提及的第一種向?qū)頌閳?bào)表添加一個(gè)新頁面。
uses frxClass, frxDsgnIntf; type TfrxMyWizard = class(TfrxCustomWizard) public class function GetDescription: String; override; function Execute: Boolean; override; end; class function TfrxMyWizard.GetDescription: String; begin Result := 'My Wizard'; end; function TfrxMyWizard.Execute: Boolean; var Page: TfrxReportPage; begin { lock any drawings in designer } Designer.Lock; { create new page in report } Page := TfrxReportPage.Create(Report); { create unique name for page } Page.CreateUniqueName; { set paper sizes and orientation to defaults } Page.SetDefaults; { update report pages and switch focus to last added page } Designer.ReloadPages(Report.PagesCount - 1); end; var Bmp: TBitmap; initialization Bmp := TBitmap.Create; { load picture from resource; of course, it must already be there } Bmp.LoadFromResourceName(hInstance, 'frxMyWizard'); frxWizards.Register(TfrxMyWizard, Bmp); finalization frxWizards.Unregister(TfrxMyWizard); Bmp.Free; end.
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)