|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 1 樓
|
發表於: 星期五 四月 30, 2004 2:44 am 文章主題: 使用表單來預覽報表(轉貼) |
|
|
來源:VFP精英站 fbilo
http://www.foxer.net/list.asp?id=305
使用表單來預覽報表
為什麼有人不想用 FoxPro 的預覽?
可能有兩個原因:第一個是預覽窗口的標題包含你可能不希望用戶知道的、對用戶不重要的信息,對應用程序來說是多餘的並且看起來顯得很混亂。
第二個原因是:如果你正在預覽圖形,它們是否在縮放為小於100%的情況下正確顯示不重要。
(譯者註:我覺得這兩個原因倒沒啥,對我來說,最重要的是能夠正確的在頂層表單應用程序中預覽報表。)
大多數人能夠忍受第一個問題,但是同時遇上兩個時則是一個問題。
一個答案是:使用表單來代替滾動你的預覽窗口的形式。
假定你使用VFP6.0,這個問題就被解決了。這個.ScrollBars 屬性在兩種方式下都允許全屏預覽。
更多的好處是,現在你擁有給表單添加更多控件的能力。
下面的內容不包括源代碼,只是描述使你能夠在運行時用一個表單來預覽報表的方法的一個輪廓。
從一個程序員的角度來看,你需要獲得一些報表文件的知識。我推薦下面的一篇文章:
《弄清 Visual FoxPro 報表文件》-- FoxTalk 2000年8月
地址:http://www.foxtalknewsletter.com/FT/FTMag.nsf/0/F9FA874556FBE8768525692E007B8459
為描述的方便,建立一個報表,Report1,這個報表只有一個細節帶區。
每一個報表對象都要求關聯,所以連續的選擇各個對象,單擊右鍵,在屬性的備註字段中輸入默認的表單中控件的名稱,比如:textboxes 替換為 "Text1", "Text2", labels 替換為 "Label1", "Label2", images 替換為 "Image1", "Image2", lines 替換為 "Line1" 等等。
建立一個表單,用已在報表中輸入的各個控件名建立相應的控件。比如:報表中文本框的備註字段的值"Text1"與表單中文本框 Text1 相對應,等等。選擇表單上所有的文本框,設置它們的.BackStyle = 0 和 .BorderStyle = 0。選擇表單上所有的控件,把它們的.left屬性都修改為800,這樣看起來就像是一個空白的表單。
設置表單的屬性.BackColor = RGB(0,0,0)/或其他顏色、屬性.ScrollBars = 2 or 3 ,添加一個形狀(sharp)控件.shpBackGround ,設置它的屬性為:
.ForeColor = RGB(255,255,255),
.BackStyle = 1
.BorderStyle= 0
.Left = 6
.Top = 7
.Height = 1140
.Width = 771
這個形狀控件提供了一種A4白紙的模型,而不是黑色或其他顏色的背景。添加第二個形狀控件 .shpMask,除了.BackStyle = 0、 .BorderStyle= 0,其它的屬性像 .shpBackGround 一樣設置。
把.shpBackground 放在後面而 .shpMask放在前面,這裡將插入其它的控件並防止用戶單擊它們。
在表單的Init事件中,報表 Report1 被當成是一個別名為 TEMPREPO 的臨時表來打開,然後在 .Refresh 方法中「讀取」(Scan....EndScan)TEMPREPO 來定義表單上控件的屬性。
要提供可選擇的預覽,表單控件的屬性也要特別指定:
Height = INT((TEMPREPO.Height / 104.16) * lnFactor)
典型的情況下,lnFactor為1.0則用當前頁寬來預覽,為0.4則整頁預覽,為0.75則用75%的大小來預覽。這些預覽的大小可以或者從表單上或者從工具欄上來選擇。
缺點:
++++
只是當你想要在已經基本滿足要求的情況下再上一層樓時才有用。
優點:
++++
在保持項目的其它部分的同時預覽表單的標題。
在所有的縮放比例上正確的預覽圖形。
可以準確的全範圍預覽更多的數據處理。
完全控制預覽的比例和位置。
預覽200%, 300%的能力。 _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|