次の方法で共有


WINDOWPLACEMENT 構造体 (winuser.h)

画面上のウィンドウの配置に関する情報が含まれます。

構文

typedef struct tagWINDOWPLACEMENT {
  UINT  length;
  UINT  flags;
  UINT  showCmd;
  POINT ptMinPosition;
  POINT ptMaxPosition;
  RECT  rcNormalPosition;
  RECT  rcDevice;
} WINDOWPLACEMENT;

メンバー

length

型: UINT

構造体の長さ (バイト単位)。 GetWindowPlacement 関数または SetWindowPlacement 関数を呼び出す前に、このメンバーを に設定しますsizeof(WINDOWPLACEMENT)

このメンバーが正しく設定されていない場合、GetWindowPlacementSetWindowPlacement は失敗します。

flags

型: UINT

最小化されたウィンドウの位置と、ウィンドウを復元するメソッドを制御するフラグ。 このメンバーには、次の値の 1 つ以上を指定できます。

説明
WPF_ASYNCWINDOWPLACEMENT
0x0004
呼び出し元のスレッドとウィンドウを所有するスレッドが異なる入力キューにアタッチされている場合、システムはそのウィンドウを所有するスレッドに要求をポストします。 これにより、他のスレッドが要求を処理している間、呼び出し元のスレッドがその実行をブロックできなくなります。
WPF_RESTORETOMAXIMIZED
0x0002
復元されたウィンドウは、最小化前に最大化されたかどうかに関係なく最大化されます。 この設定は、次回ウィンドウが復元されたときにのみ有効です。 既定の復元動作は変更されません。

このフラグは、showCmd メンバーにSW_SHOWMINIMIZED値が指定されている場合にのみ有効です。

WPF_SETMINPOSITION
0x0001
最小化されたウィンドウの座標を指定できます。

ptMinPosition メンバーに座標が設定されている場合は、このフラグを指定する必要があります。

showCmd

型: UINT

ウィンドウの現在の表示状態。 ShowWindow 関数の nCmdShow パラメーターで指定できる任意の値を指定できます。

ptMinPosition

種類: POINT

ウィンドウが最小化されている場合のウィンドウの左上隅の座標。

ptMaxPosition

種類: POINT

ウィンドウが最大化されたときのウィンドウの左上隅の座標。

rcNormalPosition

種類: RECT

ウィンドウが復元された位置にある場合のウィンドウの座標。

rcDevice

解説

ウィンドウが WS_EX_TOOLWINDOW ウィンドウ スタイルを持たないトップレベル ウィンドウの場合、次のメンバーによって表される座標は、ワークスペース座標 ( ptMinPositionptMaxPositionrcNormalPosition) になります。 それ以外の場合、これらのメンバーは画面座標に含まれます。

ワークスペース座標は、アプリケーション ツールバー (タスク バーを含む) の場所とサイズを考慮するという点で、画面座標とは異なります。 ワークスペース座標 (0,0) は、ワークスペース領域の左上隅であり、アプリケーション ツール バーで使用されていない画面の領域です。

WINDOWPLACEMENT 構造体で使用される座標は、GetWindowPlacement 関数と SetWindowPlacement 関数でのみ使用する必要があります。 画面座標 ( SetWindowPos など) を必要とする関数にワークスペース座標を渡すと、ウィンドウが間違った場所に表示されます。 たとえば、タスク バーが画面の上部にある場合、 GetWindowPlacement を使用してウィンドウ座標を保存し、 SetWindowPos を使用して復元すると、ウィンドウが画面の上に "クリープ" して表示されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (Windows.h を含む)

関連項目

概念

GetWindowPlacement

ポイント

Rect

リファレンス

SetWindowPlacement

Setwindowpos

Showwindow

Windows