次の方法で共有


デバイス コンテキスト

デバイス コンテキストが表示やプリンターなどのデバイスに描画属性に関する Windows データを含む構造体の情報です。 すべての描画呼び出しは描画行、図形とテキストの Windows API をカプセル化するデバイス コンテキスト オブジェクトを介して行われます。 Windows のデバイス コンテキストのデバイスに依存しない描画します。 画面に、プリンター、またはメタファイルに描画にデバイス コンテキストを使用できます。

CPaintDC オブジェクトがデバイス コンテキストの BeginPaint 関数、および描画を呼び出すと、EndPaint 関数を呼び出す Windows に共通の表現をカプセル化します。 自動的に CPaintDC コンストラクターの呼び出し BeginPaint、デストラクターの呼び出し EndPaint。 単純プロセスは CDC オブジェクトを作成できます。描画、CDC オブジェクトを破棄します。 フレームワークでは、このプロセスの多くが自動化されます。 特に、OnDraw 関数は既に用意されて CPaintDC (OnPrepareDC) で渡され、単に描画します。 これは、フレームワークによって破棄され、基になるデバイス コンテキストに呼び出しから OnDraw 関数に戻り、Windows に解放されます。

CClientDC オブジェクトは、ウィンドウのクライアント領域だけを表すデバイス コンテキストの使用をカプセル化します。 CClientDC コンストラクターの呼び出し GetDC 関数、デストラクターは ReleaseDC 関数を呼び出します。 CWindowDC オブジェクトは、ウィンドウ全体を表すフレームを含むデバイス コンテキストをカプセル化します。

CMetaFileDC オブジェクトは Windows メタファイルに描画をカプセル化します。 OnDrawに渡される CPaintDC とは対照的に、この場合 OnPrepareDC 自身を呼び出す必要があります。

マウス描画

フレームワーク プログラムのほとんどのレンダリングは、OnDraw のメンバー関数に置くため、ほとんどのデバイスコンテキスト作業—送られます。 ただし、デバイス コンテキスト オブジェクトを他の用途に使用できます。 たとえば、フィードバックをビューのマウスに追跡を提供するために、呼び出される待機 OnDraw なしでビューに直接描画する必要があります。

このような場合、ビューに直接描画するために CClientDC のデバイス コンテキスト オブジェクトを使用できます。

さらに詳しくは次のトピックをクリックしてください

参照

概念

ウィンドウ オブジェクト