| nextman |
Gold Member
 |
 |
Thailand
29 มี.ค. 2552
17 Posts |
|
|
|
*filename = mycustompreview.prg *ตัวอย่างการเรียกใช้งานจากภายนอกเช่น *!* xrls = .null. ประกาศตัวแปรก่อน *!* do mycustompreview with xrls,.F. สร้าง Reportlistener *!* REPORT FORM "report2.frx" OBJECT xrls ทำการ Preview Report ที่ต้องการ
parameters rl , canprint * Obtain an instance of the default preview container: pc_obj = .NULL. DO (_REPORTPREVIEW) WITH pc_obj &&จะทำให้ pc_obj กลายเป็นตัวแปรประเภท object แบบ frxPreviewProxy ทันที
* Create an instance of an Extension Handler: ตัวควบคุมภายนอก นอกจากการใช้ pc_obj xh_obj = NEWOBJECT("MyExHndPreview") xh_obj.ShowPrintbutton = canprint
* Assign it to the preview container: pc_obj.SetExtensionHandler( m.xh_obj )
* Set up a report listener and give it our preview: rl_obj = NEWOBJECT("Reportlistener") rl_obj.ListenerType = 1 rl_obj.PreviewContainer = pc_obj
rl = rl_obj return
*--------------------------------------------- * Extension Handler Class: *--------------------------------------------- DEFINE CLASS MyExHndPreview AS Custom
ShowPrintbutton= .F. &&สร้างตัวแปร ซึ่งใน class จะมองเป็น Property ทันที PROCEDURE AddBarsToMenu( cPopup, iNextBar ) * Remove the option to change page count: RELEASE BAR 8 OF (m.cPopup) ENDPROC
PROCEDURE Show( iStyle ) * Remove the option to change page count: && บาง properties ไม่สามารถกำหนดได้ในระดับ frxPreviewProxy จึงต้องมากำหนดในระดับ Extension Handler ** ดู help และตัวอย่างประกอบโดยค้นหาและใช้ keyword = ReportPreview.App ได้ในแท็บ index THIS.PreviewForm.Toolbar.opgPageCount.Visible = .F. THIS.PreviewForm.Toolbar.Controlbox = .F. && remove ปุ่มปิด control box ของ toolbar preview ไม่ให้ปิด toolbar ได้ ไม่สามารถกำหนด properties นี้ในระดับ frxPreviewProxy THIS.PreviewForm.Caption = "Preview" &&สามารถกำหนด properties นี้ในระดับ frxPreviewProxy ก็ได้ THIS.PreviewForm.ZoomLevel = 5 && 100% THIS.PreviewForm.CanvasCount = 1 THIS.PreviewForm.AllowPrintFromPreview = THIS.ShowPrintbutton &&ปิด/เปิดปุ่ม Print THIS.PreviewForm.Windowstate = 2 &&Show in Maximized ENDPROC
PROCEDURE HandledKeyPress( nKeyCode, nShiftAltCtrl ) RETURN .F. ENDPROC
PROCEDURE Paint() ENDPROC
PROCEDURE Release() RETURN .T. ENDPROC
ENDDEFINE
*ที่เหลือก็ประยุกต์ใช้งานเพิ่มเติมต่อได้นะครับ ตัวนี้ผมทดสอบกับ VFP9 นะครับ
------------- mrnextman
|
|
|