デバイスコンテキスト・・・・・・・Device Context
イメージとしてはキャンバスと思えばよい。
デバイスコンテキストの種類・・・デバイスコンテキスト呼ばれるものは幾つもあるが
一般的に「デバイスコンテキスト」とだけいうと
「ディスプレイデバイスコンテキスト」を指す。
ウィンドウ全体は「ウィンドウデバイスコンテキスト」
プリンタの場合、「プリンタデバイスコンテキスト」
メモリ上の場合、「メモリデバイスコンテキスト」と言う。
ウィンドウデバイスコンテキスト・・ウィンドウ全体のデバイスコンテキストを指す。
ウィンドウ全体なのでクライアント領域はもとより
非クライアント領域(メニューバー・キャプションバー)も含む。
メモリデバイスコンテキスト・・・・メモリ上にデバイスコンテキストを作成することができる。
主に再描画などのために使われるが、なんに使っても良い。
メモリ上なので、ディスプレイには反映されない。
デバイスコンテキストを1つ作るとそのデータを保持するためにメモリ領域を消費する。
このメモリ領域は1MBしかないので、作成したデバイスコンテキストをそのままにすると
メモリを食いつぶす事になる。ちなみに1つ作ると約800バイト消費する。
デバイスコンテキストは不要になった時点でこまめに削除することをオススメする。
CreateDC()関数で作成したとき DeleteDC()関数で削除
GetDC()関数で取得したとき ReleaseDC()関数で開放| 関数名 | 機能 | Sample |
| デバイスコンテキスト | ||
| CreateCompatibleDC | 指定のデバイスコンテキストと互換性のあるメモリデバイスコンテキストを作成する | なし |
| CreateDC | 物理デバイスに対するデバイスコンテキストを作成する | なし |
| CreateIC | デバイスコンテキストの情報コンテキストを取得する | なし |
| DeleteDC | 指定のデバイスコンテキストを削除する | なし |
| GetDC | デバイスコンテキストを取得する | なし |
| GetDCEx | デバイスコンテキストを取得する | なし |
| GetDCOrgEx | 指定のデバイスコンテキストの原点を取得する | あり |
| GetWindowDC | ウィンドウ全体のデバイスコンテキストを取得する | あり |
| ReleaseDC | デバイスコンテキストを解放する | なし |
| RestoreDC | SaveDC関数で保存したデバイスコンテキストを復元する | なし |
| SaveDC | 指定のデバイスコンテキストの現在の状態を保存する | あり |
| ScrollDC | デバイスコンテキストをスクロールする | なし |