次の方法で共有


HELPWININFOW 構造体 (winuser.h)

プライマリ ヘルプ ウィンドウまたはセカンダリ ヘルプ ウィンドウのサイズと位置を格納します。 アプリケーションは、WinHelp 関数をHELP_SETWINPOS値と共に呼び出すことによって、この情報を設定できます。

構文

typedef struct tagHELPWININFOW {
  int   wStructSize;
  int   x;
  int   y;
  int   dx;
  int   dy;
  int   wMax;
  WCHAR rgchMember[2];
} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;

メンバーズ

wStructSize

型: int

この構造体のサイズ (バイト単位)。

x

型: int

ウィンドウの左上隅の X 座標 (画面座標)。

y

型: int

ウィンドウの左上隅の Y 座標 (画面座標)。

dx

型: int

ウィンドウの幅 (ピクセル単位)。

dy

型: int

ウィンドウの高さ (ピクセル単位)。

wMax

型: int

ウィンドウの表示オプション。 ShowWindow 関数の nCmdShow パラメーターで指定できる任意の値を指定できます。

rgchMember[2]

型: TCHAR[2]

ウィンドウの名前。

備考

Windows ヘルプでは、ディスプレイが X 方向と Y 方向の両方で 1024 単位に分割されます。 たとえば、ディスプレイの左上のクアドラントを塗りつぶすセカンダリ ウィンドウを作成するには、アプリケーションで、xy メンバーに 0、dx メンバーと dy メンバーに 512 を指定します。

wStructSize 正しく計算するには、rgchMember に格納される文字列 実際のサイズがわかっている必要があります。 sizeof(HELPWININFO) には、定義で 2 つの TCHAR が含まれるため、最終的な合計で考慮する必要があります。 次の例は、wStructSizeのインスタンスの適切な計算を示しています。

WORD wSize;
TCHAR *szWndName = TEXT("wnd_menu"); 
size_t NameLength;  
HRESULT hr;
HELPWININFO hwi;

// StringCbLength returns the length of the string without 
// the terminating null character.
hr = StringCbLength(szWndName, STRSAFE_MAX_CCH * sizeof(TCHAR), &NameLength);
    
if (SUCCEEDED(hr))
{
    // Add bytes to account for the name string's terminating null character.
    NameLength + sizeof(TCHAR);
    
    // Determine the size of HELPWININFO without the TCHAR array.
    wSize = sizeof(HELPWININFO) - (2 * sizeof(TCHAR));
    
    // Determine the total size of the final HELPWININFO structure.
    hwi.wStructSize = wSize + NameLength;
}

手記

winuser.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして HELPWININFO を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー winuser.h