<Return[G]><Top>

GetSystemMenu

Declare Function Api_GetSystemMenu& Lib "user32" Alias "GetSystemMenu" (ByVal hWnd&, ByVal bRevert&)

Declare Function GetSystemMenu Lib "user32" Alias "GetSystemMenu" (ByVal hwnd As Long, ByVal bRevert As Long) As Long

ウィンドウメニュー(システムメニューまたはコントロールメニューとも呼ばれる)のハンドルを取得する。このハンドルはコピーであり、ウィンドウメニューの変更に利用できる。ウィンドウメニューを既定の状態へ戻すこともできる。

パラメータ
hWnd
    ウィンドウメニューを保持しているウィンドウのハンドルを指定する。
bRevert
    関数の動作を指定する。FALSE(0)を指定すると、この関数は、現在使用中のウィンドウメニューをコピーして、コピー先のメニューハンド

    ルを返す。返されたメニューハンドルは、指定されたウィンドウのウィンドウメニューと同じものであるが、その後、変更を加えることができる。
    TRUE を指定すると、この関数は、ウィンドウメニューをリセットして Windows の既定の状態へ戻す。

    つまり、ウィンドウメニューがカスタマイズされていた場合、カスタマイズを取り消す。

    以前の(カスタマイズ済みの)ウィンドウメニューが存在する場合、そのウィンドウメニューを破棄する。

戻り値
    bRevert パラメータが FALSE の場合、ウィンドウメニューが内部でコピーされ、コピー先のメニューハンドルが返る。bRevert パラメータが

    TRUE の場合、NULL が返る。

解説
    任意のウィンドウは bRevert パラメータで FALSE を指定して GetSystemMenu 関数を使うと、他のウィンドウのウィンドウメニュー(通常は

    Windows の標準的なウィンドウメニュー)を取得できる。その後、そのウィンドウメニューをカスタマイズすることができる。このような取得とカ

    スタマイズを行っていないウィンドウは、標準的なウィンドウメニューを受け取る。