VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

VfpPrinter——快樂列印(轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Ruey



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期六 九月 27, 2003 1:40 am    文章主題: VfpPrinter——快樂列印(轉貼) 引言回覆

來源:myf1 sulsul
http://61.145.116.139/bbs/dispbbs.asp?boardID=1&ID=207762

VfpPrinter——快樂列印(完全版)
*********************************VFP中用程式對於列印實現完全控制*******************
*程式設計、開發人:sulsul
*本控制項免費提供給各位個人使用,如果用於商業用途請聯繫我:E_mail:sulsul@eyou.com
*本控制項還存在一些BUG,不完善的地方希望各位能夠指出
*使用本控制項最好在VFP7以上版本使用,那樣可以得到更多提示
*本控制項默認長度單位為:微米 (即列印長度為1000的線條,實際上列印長度為1毫米)
**************************************************************************

*先將本控制項下載後、放入表單該名為printer
With Thisform.Printer
*1、列印長度單位設置(默認:微米)
.print_ModeType= 0 && micron
*********具體設置
* .print_ModeType= 0 && micron ——微米
* .print_ModeType= 1 && Twip ——緹
* .print_ModeType= 2 && Point ——磅
* .print_ModeType= 3 && Inch ——英寸
* .print_ModeType= 4 && Millimeter ——毫米
* .print_ModeType= 5 && Centimeter ——釐米

*2、列印縮放比例(默認100)
* .vfp_Zoom=100
*3、選擇打印紙張、如果沒有自動添加(實用於WINDOW95、98、NT、2000)
*現在在NT、2000下添加紙張就太方便了
?.SelectPaper(Thisform.HWnd,"VfpPrinter",210000,300000)
&&如果已經存在同樣大小紙張返回——1(選擇該種紙張)、添加成功返回——2、錯誤返回——0

*4、列印文字
.Text("歡迎你使用VFPPrinter控制項")
*5、列印格式
Printer_FormatText=.vfp_Format(1000000,"###,####,###") &&列印結果:1,000,000
?Printer_FormatText
.Text(Printer_FormatText)
*或者採用
.ftext(1000000,"###,####,###") &&列印結果:1,000,000
*****此函數結合了.text與.Vfp_Format的功能
*********************格式明細:
*///數值型支持
?.vfp_Format(1000000,"###,####,###") &&1,000,000
?.vfp_Format(1000000,"###,####,##") &&1,000,000
?.vfp_Format(88.1868,"0000000.00%") &&8818.68%
?.vfp_Format(88.1868,"0000000.0000%%") &&881868.0000%%
*///字元型支援大小寫
?.vfp_Format("Welcome to Vfp",">") &&轉化為大寫
?.vfp_Format("Welcome to Vfp","<") &&轉化為小寫
*///日期型支援格式
*////時間型
?.vfp_Format(Time(),"hh:mm:ss") &&22:01:01
?.vfp_Format(Time(),"hh:mm:ss AMPM") &&10:01:01 PM
*////日期型
?.vfp_Format(Date(),"D MM YYYY") &&16 05 2003
?.vfp_Format(Date(),"DD MM YYYY") &&16 05 2003
?.vfp_Format(Date(),"DDD MM YYYY") &&Fri 05 2003
?.vfp_Format(Date(),"DDDD MM YYYY") &&Friday 05 2003
?.vfp_Format(Date(),"DDDDD MM YYYY") &&2003-05-16 05 2003
?.vfp_Format(Date(),"DDDDDD MM YYYY") &&2003年5月16日 05 2003
?.vfp_Format(Date(),"D M YYYY") &&16 5 2003
?.vfp_Format(Date(),"D MM YYYY") &&16 05 2003
?.vfp_Format(Date(),"D MMM YYYY") &&16 May 2003
?.vfp_Format(Date(),"D MMMM YYYY") &&16 May 2003
?.vfp_Format(Date(),"D M YY") &&16 05 03
?.vfp_Format(Date(),"D M YYYY") &&16 05 2003
?.vfp_Format(Date(),"YYYY年MM月DD日") &&2003年5月16日
*////日期時間型
?.vfp_Format(Datetime(),"hh:mm:ss YYYY年MM月DD日") &&22:01:01 2003年5月16日
**********************************************************
*6、得到需要列印的文字的寬度、長度
Printer_TextWidth=.TextWidth("歡迎你使用VFPPrinter控制項")
Printer_TextHeight=.TextHeight("歡迎你使用VFPPrinter控制項")
Printer_TextHeight=.TextHeight(.vfp_Format(Date(),"YYYY年MM月DD日"))
*7、設置列印文字的格式
.Font.Size=12 &&列印文字的大小
.Font.Bold =.T. &&粗體
.Font.Italic =.T. &&斜體
.Font.Underline =.T. &&下劃線
.Font.Name ="abc" &&

*8、列印線條
.pline(10000,20000,10000,0)
&&列印對應的分別時X(橫軸)-開始位置、Y(縱軸)-開始位置、X-的增加長度、Y-增加長度
****列印長度為10毫米的橫向
*9、列印圓
.pcircle(10000,100000,2000) &&列印對應的分別時X(橫軸)-開始位置、Y(縱軸)-開始位置、圓的半徑
*10、列印點
.PDot (10000,10000) &&列印點
*11、列印圖片檔
*.ppicture("c:\foxpro\fox.bmp",1000,1000) &&列印圖片
*12、設置文字的列印位置
.atX=1000
.aty=1000
.Text("歡迎你使用VFPPrinter控制項")
*13、列印位置遞增
.Skip(1500) &&向下移動1500微米
.Text("歡迎你使用VFPPrinter控制項")
*14、取得當前設置的印表機名稱
Printer_Name=.DeviceName
*15、設置列印線條的寬度
.DrawWidth =3 &&列印線條的寬度
*16、翻紙
.pNewpage &&過頁、翻紙
*17、返回當前頁號
?.PpageNo &&返回當前頁號
*18、打印紙張高度
?.printHeight &&紙張列印高度
?.printWidth &&紙張列印寬度
*19、列印質量
.Printquality= -4 && Vfp_high
?.Printquality &&設置紙張列印質量
*20、選擇印表機(名稱一定要全)
*?.selectPrinter("Epson 2000K")
*21、設置頁邊距
**********************
.pScaleHeight=1000
.pscaleLeft =500
.pscaleTop =150000
.pScaleWidth =100000
?.pScaleHeight
?.pscaleLeft
?.pscaleTop
?.pScaleWidth
*22、結束列印、將列印命令發給印表機
.Endprint &&結束列印、將列印命令發給印表機
*23、取消列印
*.killPrint &&取消列印
*24、列印矩形(按長度)
*列印矩形(按長度) 從(AtX,AtY)位置開始列印長為LongX,寬為LongY的矩形
.PBoxLong(10000,10000,20000,10000)
*列印(按點) 從(X1,Y1)-(X2,Y2)
.PBoxPoint(10000,10000,30000,20000)
Endwith

*希望各位FOXER迅速VFP擺脫列印的痛苦
*如何問題請聯繫我 E_mail: sulsul@eyou.com
VfpPrinter控制項(更新)

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作