IsPrinting

IsPrinting是電腦術語,確定正在使用的設備上下文是否用於列印

CDC類成員
以前我們進行的輸出工作都是向螢幕上的一塊視窗區域中進行,而列印則是印表機向列印紙上輸出一些東西。的確,這兩者之間有很大的相似性,比如,它們都能輸出文本,也都能輸出一些圖形。正是基於這些相似性,在 Windows 中,用設備上下文將它們之間的共性統一起來了。你在進行列印和輸出時,你可以用相同的輸出函式(如TextOut)來往螢幕或列印紙上輸出。 Windows 會在不同的情況下,將輸出聯繫到相應的設備上。但是這並不意味著我們可以完全不考慮這兩者之間的差別,而認為我們只要實現了螢幕輸出功能就自動地實現了相應的列印功能。畢竟,它們之間有一些無法統一的差別:列印時,有頁和分頁的概念,即數據或輸出是有條理地組織在一張張有一定大小的紙上;而螢幕輸出時,則沒有頁和分頁的功能,同時,可以認為螢幕輸出的輸出區域是沒有大小限制的,超出視窗範圍的,我們可以用滾動條來滾動。
CView 有這樣三個虛擬函式:OnPaint(),OnDraw(CDC *pDC),OnPrint()。OnPaint()是當視類視窗需要在螢幕上輸出時被調用,負責完成視窗的螢幕輸出顯示工作;OnPrint()是當列印一頁時被調用,負責完成向某頁列印紙上列印。這兩個函式的預設實現中包含了對OnDraw(CDC *pDC)的調用。我們以前的程式中,並不考慮列印問題,所以我們被告之在OnDraw 中考慮如何完成螢幕輸出工作。但現在不一樣了,我們在OnDraw 中添加代碼時,必須小心這有可能是在進行列印,並不是向一個視窗中輸出。如果這兩者在程式中不能統一,就必須分開考慮。分分開考慮有兩種方法:一是分別在OnPaint和OnPrint 中完成螢幕輸出和列印輸出工作,而不必依賴於OnDraw。二是在OnDraw 中,我們可以調用pDC->IsPrinting() 來識別目前是在進行哪種輸出工作。如果是在進行列印,pDC->IsPrinting()返回true。這樣我們就可以在OnDraw 中區別對待了。

相關詞條

熱門詞條

聯絡我們