<Return[S]><Top>

SetClassLong

Declare Function Api_SetClassLong& Lib "user32" Alias "SetClassLongA" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)

Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

パラメータ
hWnd
    ウィンドウのハンドルを指定する。クラスも間接的に指定したことになる(指定したウィンドウの属するクラスが使われる)。
nIndex
    値を書き換える 32 ビット値を指定する。

    拡張クラスメモリ内の 32 ビット値を書き換えるときは、0 から始まるオフセットをバイト単位で指定する。

    有効な値は、0 から拡張クラスメモリのバイト数より 4 小さい値までである。

    たとえば、12 バイト以上の拡張クラスメモリを持つクラスを指定した場合なら、8 を指定すると、3 番目の 32 ビット値が書き換えられる。

    拡張クラスメモリ以外のデータを書き換えるときは、次の値のいずれかを指定する。

    値                                       

動作                                                                                                                                 

    GCL_CBCLSEXTRA

 

クラスに関連付けられている拡張クラスメモリのサイズを、バイト単位で設定する。この値を変更しても、すで

に割り当てられた拡張メモリのサイズは変わらない。

    GCL_CBWNDEXTRA

 

ウィンドウに関連付けられている拡張ウィンドウメモリのサイズを、バイト単位で設定する。

この値を変更しても、すでに割り当てられた拡張ウィンドウメモリのサイズは変わらない。

    GCL_HBRBACKGROUND

クラスに関連付けられている背景ブラシのハンドルを書き換える。

    GCL_HCURSOR

クラスに関連付けられているマウスカーソルのハンドルを書き換える。

    GCL_HICON

クラスに関連付けられているアイコンのハンドルを書き換える。

    GCL_HICONSM

クラスに関連付けられている小さいアイコンのハンドルを書き換える。

    GCL_HMODULE

クラスを登録したモジュールのハンドルを書き換える。

    GCL_MENUNAME

メニュー名が入った文字列のアドレスを書き換える。

この文字列は、クラスに関連付けられているメニューリソースを識別する。

    GCL_STYLE

ウィンドウクラスのスタイルビットを書き換える。

    GCL_WNDPROC

クラスに関連付けられているウィンドウプロシージャのアドレスを書き換える。

dwNewLong
    新しく設定する値を 32 ビット値で指定する。
 

戻り値
    関数が成功すると、変更前の値が返る。値が設定されていなかった場合は、0 が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。