常見的顯示裝置內容
常見的 裝置內容 用於在視窗的工作區中繪製。 根據預設,系統會為視窗類別未明確指定顯示裝置內容樣式的任何視窗提供通用裝置內容。 常見的裝置內容通常會與可繪製的視窗搭配使用,而不需要對裝置內容屬性進行大量變更。 常見的裝置內容很方便,因為它們不需要額外的記憶體或系統資源,但如果應用程式在使用之前必須設定許多屬性,則可能會很不方便。
系統會從顯示裝置內容快取擷取所有通用裝置內容。 應用程式可以在建立視窗之後立即擷取通用裝置內容。 因為常見的裝置內容來自快取,所以應用程式必須在繪製之後儘快釋放裝置內容。 發行通用裝置內容之後,它就不再有效,而且應用程式不得嘗試使用它繪製。 若要再次繪製,應用程式必須擷取新的通用裝置內容,並在每次在視窗中繪製時繼續擷取和釋放通用裝置內容。 如果應用程式使用 GetDC 函式擷取裝置內容控制碼,則必須使用 ReleaseDC 函式來釋放控制碼。 同樣地,針對每個 BeginPaint 函式,應用程式必須使用對應的 EndPaint 函 式。
當應用程式擷取裝置內容時,系統會調整原點,使其與工作區左上角對齊。 它也會設定裁剪區域,以便將裝置內容的輸出裁剪到工作區。 在工作區外部顯示的任何輸出都會被裁剪。 如果應用程式使用 BeginPaint擷取通用裝置內容,系統也會在裁剪區域中包含更新區域,以進一步限制輸出。
當應用程式發行通用裝置內容時,系統會還原裝置內容屬性的預設值。 修改屬性值的應用程式必須在每次擷取一般裝置內容時執行此動作。 釋放裝置內容會釋放應用程式可能已選取的任何繪圖物件,因此應用程式在釋放裝置內容之前不需要釋放這些物件。 在所有情況下,應用程式絕對不能假設通用裝置內容會在發行後保留非預設選取專案。