麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

使用VB實現所見即所得功能

2019-11-18 17:42:19
字體:
來源:轉載
供稿:網友
一、方法概述

  為了在屏幕上模擬打印效果,我們使用VB的一個窗體來模擬一張打印紙。在VB中,每一個窗體都有一個PRintForm方法。使用PrintForm方法可以把一個窗體的內容完全一樣地通過打印機打印出來。由于PrintForm方法在打印窗體內容的時候,對于窗體內的文字和圖形都是同樣地打印。所以通過簡單的編程,使用PrintForm方法可以非常方便地實現圖文混合打印。

  具體的方法是:  

  ①、確定用戶可以使用的顯示與打印雙功能字模

  “所見即所得”程序中用戶可以使用的字模必須是同時支持Windows的顯示設備和打印設備的雙功能字模。只有這些字模才可以在屏幕和打印機上產生一樣的效果。因此,程序必須首先獲得這些顯示與打印雙功能字模的名稱。  

  ②、在屏幕上設置“紙張”窗體的大小

  通過讀取Windows打印管理器紙張尺寸的設置,在VB里建立一個與打印紙具有同樣尺寸比例關系的窗體,作為屏幕上模擬打印效果的“紙張”,讓用戶在屏幕上就可以看到文字和圖形在打印紙上的位置分布。  

  ③、用戶在屏幕“紙張”上模擬打印效果

  在模擬打印的窗體中通過使用Print、Line、Circle等方法繪制文字和圖形的,還可以使用圖形框、Graph.VBX、OLE等控件繪制圖形、統計圖表、公式、藝術字型等等。  

  ④、將屏幕“紙張”的內容輸出到打印機

  使用窗體的PrintForm方法把第③步所繪制的文字和圖形輸出到打印機,得到和屏幕顯示一模一樣的打印拷貝,實現“所見即所得”。  

  二、打印機字模和顯示器字模的精確匹配

  Windows的字模分為兩類:打印機字模和顯示器字模。各種TrueType字模(如宋體、黑體字模)都是顯示與打印雙功能字模。其他的非TrueType字模就只能用于顯示或打印。

  如果在模擬打印窗體的文字輸出中使用了只能用于顯示的字模,那么當PrintForm方法執行的時候,Windows就只能在打印字模中查找一個盡量和這個顯示字模字型匹配的字模來進行打印。這樣將導致得到的打印拷貝與屏幕顯示一致。

  為了使程序獲得“所見即所得”的能力,必須在窗體輸出中使用顯示與打印雙功能字模。因此,程序獲得“所見即所得”能力的一個關鍵是:確保在屏幕輸出中只使用顯示與打印雙功能字模。

  在VB中提供了兩個全局對象:屏幕對象Screen和打印機對象Printer。兩個對象都提供了FontCount屬性和Fonts屬性。FontCount屬性提供了可使用字模的數量,而Fonts屬性提供了可使用字模的名稱。在程序中,我們可以取出Screen對象和Printer對象所共同擁有的字模,這些字模就是所有的顯示與打印雙功能字模。具體的程序如下:

  首先設置一個列表框,取名List1,然后調用下面的GetFont函數,在List1中就存放所有顯示與打印雙功能字模的名稱。  

  SubGetFont()
  Fori=0ToScreen.FontCount-1
  Forj=0ToPrinter.FontCount-1
  IfScreen.Fonts(i)=Printer.Fonts(j)Then
  List1.AddItem(Screen.Fonts(i))
  EndIf
  Nextj
  Nexti
  EndSub

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 最新se94se在线欧美 | 91精品国产手机 | 欧美巨乳在线观看 | 91超在线 | 国产精品伊人久久 | 自拍偷拍亚洲图片 | 久久国产一二三 | 国产精品6区 | 亚洲精品一区二区三区大胸 | 国产亚洲精彩视频 | 欧美成人免费 | 高清国产午夜精品久久久久久 | 婷婷久久影院 | 一级黄色在线免费观看 | 操操电影| 久久国产精品电影 | 深夜免费视频 | 久久久久亚洲精品 | 亚洲综合精品 | 日本aⅴ在线 | 成人啪啪色婷婷久 | 一级黄色在线免费观看 | 日本欧美一区二区 | 免费观看一级黄色片 | 国产一级大片在线观看 | 激情毛片 | 91网站在线播放 | 一区二区三区国产视频 | 国产午夜电影在线观看 | 久久综合久久美利坚合众国 | 在线看免电影网站 | 三级国产三级在线 | 视频一区二区精品 | 欧美成人精品一区二区男人小说 | 特黄一区二区三区 | 麻豆视频免费网站 | 日本不卡一区二区在线观看 | 亚洲综合91 | 欧美黄色三级视频 | 久久免费精品 | 91成人免费看片 |