DwmExtendFrameIntoClientArea 関数 (dwmapi.h)

ウィンドウ フレームをクライアント領域に拡張します。

構文

HRESULT DwmExtendFrameIntoClientArea(
  [in] HWND          hWnd,
  [in] const MARGINS *pMarInset
);

パラメーター

[in] hWnd

フレームがクライアント領域に拡張されるウィンドウへのハンドル。

[in] pMarInset

フレームをクライアント領域に拡張するときに使用する余白を記述する MARGINS 構造体へのポインター。

戻り値

この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

注釈

この関数は、デスクトップ ウィンドウ マネージャー (DWM) コンポジションが切り替えられるたびに呼び出す必要があります。 コンポジション変更通知の WM_DWMCOMPOSITIONCHANGED メッセージを処理します。

負の余白の値を使用して、クライアント領域がウィンドウの境界線のないソリッド サーフェスとしてレンダリングされる "ガラスのシート" 効果を作成します。

次の例では、下余白を拡張し、大きな下枠を作成する方法を示します。


HRESULT ExtendIntoClientBottom(HWND hwnd)
{
   // Set margins, extending the bottom margin
   MARGINS margins = {0,0,0,25};
   HRESULT hr = S_OK;

   // Extend frame on the bottom of client area
   hr = DwmExtendFrameIntoClientArea(hwnd,&margins);
   if (SUCCEEDED(hr))
   {
      // ...
   }
   return hr;
}

次の例は、クライアント領域がウィンドウの境界線なしでレンダリングされる "ガラスのシート" 効果を示しています。


HRESULT ExtendIntoClientAll(HWND hwnd)
{
   // Negative margins have special meaning to DwmExtendFrameIntoClientArea.
   // Negative margins create the "sheet of glass" effect, where the client area
   // is rendered as a solid surface with no window border.
   MARGINS margins = {-1};
   HRESULT hr = S_OK;

   // Extend the frame across the entire window.
   hr = DwmExtendFrameIntoClientArea(hwnd,&margins);
   if (SUCCEEDED(hr))
   {
      // ...
   }
   return hr;
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー dwmapi.h
Library Dwmapi.lib
[DLL] Dwmapi.dll

こちらもご覧ください

DWM ブラービハインドの概要