SetClassLong

Funkcja SetClassLong zastępuje określonej wartości (długa) 32-bitowych na określone przesunięcie do pamięci dodatkowe klasy lub struktury WNDCLASSEX dla klasy, do której należy dany określonego okna.

(DWORD SetClassLong HWND  hWnd, / / uchwyt oknaintnIndex, / / indeks z zmiany wartościDługiedwNewLong / / nowe wartości);
 

Parametry

hWnd
Dojście do okna i, pośrednio, klasę, do której należy okna.
nIndex
Określa wartość 32-bitowych, aby zastąpić. Aby ustawić wartość 32-bitową pamięć klasy ekstra, określić przesunięcie bajtu pozytywne, od zera wartość należy ustawić. Prawidłowymi wartościami są wartości z zakresu od zera poprzez liczba bajtów pamięci klasy ekstra, minus cztery; na przykład jeśli określono 12 lub więcej bajtów pamięci klasy ekstra, wartość 8 byłby indeks do trzeciego 32-bitową liczbą całkowitą. Aby ustawić inną wartość od struktury WNDCLASSEX , określić jedną z następujących wartości:
Wartość Działania
GCL_CBCLSEXTRA Określa rozmiar, w bajtach, dodatkowa pamięć, skojarzone z klasą. Ustawienie tej wartości nie zmienia liczby dodatkowych już przydzielone bajty.
GCL_CBWNDEXTRA Określa rozmiar, w bajtach, pamięci dodatkowe okna związane z każdego okna w klasie. Ustawienie tej wartości nie zmienia liczby dodatkowych już przydzielone bajty. Aby uzyskać informacje o tym, jak uzyskać dostęp do tej pamięci zobacz SetWindowLong.
GCL_HBRBACKGROUND Zastępuje uchwyt pędzla tła, skojarzone z klasą.
GCL_HCURSOR Zastępuje uchwyt kursor skojarzone z klasą.
GCL_HICON Zastępuje uchwyt ikony skojarzonej z klasą.
GCL_HMODULE Zastępuje dojścia modułu, który zarejestrował klasy.
GCL_MENUNAME Zastępuje adres ciąg nazwy menu. Ciąg identyfikuje zasób menu skojarzone z klasą.
GCL_STYLE Zastępuje bitów styl klasy okna.
GCL_WNDPROC Zastępuje adres procedury okna skojarzone z klasą.

dwNewLong
Określa wartość zastąpienia.

Zwraca wartości

Jeśli funkcja, wartość zwracany jest poprzednią wartość określonego 32-bitową liczbą całkowitą. Jeśli wartość nie została wcześniej ustawione, wartość zwracany jest zero.

Jeśli funkcja zawiedzie, wartość zwracany jest równa zero. Aby uzyskać rozszerzonych informacji o błędach, należy wywołać GetLastError.

Uwagi

Jeśli używasz funkcji SetClassLong i indeksu GCL_WNDPROC aby zastąpić procedurę okna, procedurę okna muszą być zgodne z wytycznymi podanymi w opisie funkcji wywołania zwrotnego procedury WindowProc.

Wywołanie SetClassLong z indeksem GCL_WNDPROC tworzy podklasę klasy okna, który wpływa na wszystkie okna, następnie utworzone za pomocą klasy. Aplikacja może podklasę klasy system, ale powinna nie podklasę klasy okno utworzone przez inny proces.

Rezerwa pamięci klasy ekstra określając wartość różną od zera w członek cbClsExtra struktury WNDCLASSEX używane w funkcji RegisterClassEx.

Funkcja SetClassLong z opieki. Na przykład istnieje możliwość zmiany koloru tła dla klasy przy użyciu SetClassLong, ale ta zmiana nie natychmiast odświeżenia wszystkich okien należące do klasy.

Systemu Windows CE: Parametr nIndex jest bajt przesunięcie, ale musi być wielokrotnością liczby 4 bajty. Odwołań do niewyrównanych dostępu nie jest obsługiwane.

Żadna ze standardowych wartości GCL_ * są obsługiwane w parametrze nIndex z jednym wyjątkiem. Jeśli urządzenia są targetting obsługuje kursor myszy, można użyć wartości GCL_HCURSOR w parametrze nIndex.

Uwaga Wersje systemu Windows CE, obsługujących kursory myszy zawierają składniki Iconcurs i Mcursor, zamiast ikony i kursor składniki.

Skrócone informacje

nbsp; Windows &NT: wymagana wersja 3.1 lub nowsza.
Systemu Windows:Wymaga systemu Windows 95 lub nowszego.
Systemu Windows CE:Wymaga wersja 1.0 lub nowsza.
Nagłówka:Zadeklarowane w pliku winuser.h.
Importowanie biblioteki:Należy użyć user32.lib.
Unicode:Implementowane jako wersje Unicode i ANSI w systemie Windows NT.

Zobacz też

Okno klasy omówienie, funkcje klasy okno, GetClassLong, RegisterClassEx, SetWindowLong, procedury WindowProc, WNDCLASSEX