Platform SDK: DirectX |
GDI 関数により DirectDraw サーフェス オブジェクトのコンテンツを変更する場合、GDI 互換のデバイス コンテキスト ハンドルを取得しなくてはならない。これは、DrawText Win32 関数を呼び出して DirectDraw サーフェスのテキストを表示する場合に役立つ。この関数は、パラメータとしてデバイス コンテキストに対するハンドルを受け取る。サーフェスに対する IDirectDrawSurface7::GetDC メソッドを呼び出すことで、そのサーフェスに対する GDI 互換のデバイス コンテキストを取得できる。次の例でこの方法を示す。
// この例では、lpDDS4 変数が IDirectDrawSurface7 // インターフェイスに対する有効なポインタとなる。 HDC hdc; HRESULT HR; hr = lpDDS7->GetDC(&hdc); if(FAILED(hr)) return hr; // ここで、DrawText やいくつかの他の GDI 関数を // 呼び出す。 lpDDS7->ReleaseDC(hdc);
サーフェスのデバイス コンテキストが必要なくなったときに、IDirectDrawSurface7::ReleaseDC メソッドを呼び出していることに注意する。IDirectDrawSurface7::GetDC メソッドでは、サーフェスをロックするために IDirectDrawSurface7::Lock メソッドの内部バージョンが必要となるので、このステップが要求される。IDirectDrawSurface7::ReleaseDC メソッドが呼び出されるまで、そのサーフェスはロックされたままである。
GDI 関数により DirectDraw サーフェス オブジェクトのコンテンツを変更する場合、GDI 互換のデバイス コンテキスト ハンドルを取得しなくてはならない。サーフェスに対する DirectDrawSurface7.GetDC メソッドを呼び出すことで、そのサーフェスに対する GDI 互換のデバイス コンテキストを取得できる。
サーフェスのデバイス コンテキストが必要なくなったときに、DirectDrawSurface7.ReleaseDC メソッドを呼び出していることに注意する。DirectDrawSurface7.GetDC メソッドでは、サーフェスをロックするために DirectDrawSurface7.Lock メソッドの内部バージョンが必要となるので、このステップが要求される。DirectDrawSurface7.ReleaseDC メソッドが呼び出されるまで、そのサーフェスはロックされたままである。