次の方法で共有


COleControl::GetDC

ウィンドウなしのオブジェクトをサポートするコンテナーから画面 (または互換性のあるデバイス コンテキストを取得するために用意されています。

CDC* GetDC(
   LPCRECT lprcRect = NULL,
   DWORD dwFlags = OLEDC_PAINTBKGND 
);

パラメーター

  • lprcRect
    ウィンドウなしのコントロールを再描画するコントロールのクライアント座標の四角形へのポインター。null は、完全なオブジェクトの範囲を意味します。

  • dwFlags
    デバイス コンテキストの描画の属性。オプションは次のとおりです:

    • OLEDC_NODRAW は、描画を実行して、ディスプレイ デバイスに関する情報を取得するためにオブジェクトがデバイス コンテキストを使用しないことを示します。コンテナーはさらに処理しないでウィンドウの DC を単純に渡す必要があります。

    • OLEDC_PAINTBKGND は DC を返す前にコンテナーの背景を塗りつぶします必要です。オブジェクトは透明な背景の領域を再描画する DC が必要な場合は、このフラグを使用する必要があります。

    • OLEDC_OFFSCREEN は、オブジェクトが画面にコピーする必要があるオフスクリーン ビットマップに表示することをコンテナーに通知します。オブジェクトは、によって実行しようと描画操作が多くのちらつきを生成する場合は、このフラグを使用する必要があります。コンテナーは、この要求による移動を行う free またはありません。ただし、このフラグが設定されていない場合、コンテナーは画面 DC を渡す必要があります。これは、オブジェクトが選択の表示などの画面直接操作を実行できるようにします。XOR の操作によって)。

戻り値

成功した場合はコンテナーの CWnd のクライアント領域のディスプレイ デバイス コンテキストへのポインター; それ以外の場合、戻り値は nullです。ディスプレイ デバイス コンテキストはコンテナー ウィンドウのクライアント領域の描画への後続 GDI 関数で使用できます。

解説

ReleaseDC のメンバー関数は、の後で描画コンテキストを解放するために呼び出す必要があります。GetDCを呼び出すと、オブジェクトは独自のクライアント座標に描画する四角形を渡します。GetDC はコンテナーのクライアント領域の座標に変換します。オブジェクトは、サイズが GetClientRectで取得できる独自のクライアント領域の四角形を超える目的の描画された四角形を要求する必要があります。これは、場所に想定されていないオブジェクトが誤って描画されなくなります。

必要条件

ヘッダー : afxctl.h

参照

関連項目

COleControl クラス

階層図

COleControl::ReleaseDC