SetClassLong

SetClassLong -funksjonen erstatter den angitte 32-biters (lang) verdien på den angitte forskyvningen i ekstra klasse-minne eller WNDCLASSEX strukturen for klassen som det angitte vinduet tilhører.

DWORD SetClassLong) HWND  hWnd, / / håndtere-vinduetIntnIndex, / / indeks av verdi for å endreLangdwNewLong / / ny verdi);
 

Parametere

hWnd
Håndtere til vinduet og indirekte, klassen som vinduet tilhører.
nIndex
Angir 32-biters verdien hvis du vil erstatte. Du angir en 32-biters verdi i ekstra klasse-minnet, kan du angi den positive, nullbasert byteforskyvning på verdien som skal angis. Gyldige verdier er i området null gjennom antall byte med minne for ekstra klasse, minus fire; for eksempel, hvis du har angitt 12 eller flere byte med ekstra klassen minne, ville en verdi på 8 være en indeks til tredje 32-biters heltall. Hvis du vil angi andre verdier fra WNDCLASSEX -strukturen, angir du en av følgende verdier:
Verdi Handling
GCL_CBCLSEXTRA Angir størrelsen, i byte, på det ekstra minnet som er knyttet til klassen. Angir denne verdien endres ikke antall ekstra allerede tildelte byte.
GCL_CBWNDEXTRA Angir størrelsen, i byte, på ekstra vindu-minne som er tilknyttet hvert vindu i klassen. Angir denne verdien endres ikke antall ekstra byte som allerede er tilordnet. For informasjon om hvordan du får tilgang til dette minnet, kan du se SetWindowLong.
GCL_HBRBACKGROUND Erstatter håndtaket på bakgrunnen penselen knyttet til klassen.
GCL_HCURSOR Erstatter håndtaket for markøren som er knyttet til klassen.
GCL_HICON Erstatter håndtaket for ikonet som er knyttet til klassen.
GCL_HMODULE Erstatter håndtaket på modulen som registrert klassen.
GCL_MENUNAME Erstatter adressen til menyen navnestrengen. Strengen identifiserer menyen-ressursen som er knyttet til klassen.
GCL_STYLE Erstatter vindusklasse stil-biter.
GCL_WNDPROC Erstatter adressen til vindusprosedyre som er knyttet til klassen.

dwNewLong
Angir erstatningsverdi.

Returverdier

Hvis funksjonen er vellykket, er verdien som returneres av forrige verdi i det angitte 32-biters heltallet. Hvis verdien ikke allerede har installert, er returverdien null.

Hvis funksjonen mislykkes, er verdien som returneres Null. Til å vise utvidet feilinformasjon, kan du ringe GetLastError.

Merknader

Hvis du bruker SetClassLong -funksjonen og GCL_WNDPROC indeksen for å erstatte vinduet prosedyren, vinduet prosedyren må være i overensstemmelse med retningslinjene som er angitt i beskrivelsen av tilbakeringingsfunksjonen WindowProc.

Kaller SetClassLong med GCL_WNDPROC-indeks, oppretter du en underklasse av vindusklasse som påvirker alle windows senere opprettet med klassen. Et program kan underklassen som en systemklasse, men bør ikke underklasse en vindusklasse opprettet av en annen prosess.

Reservere minne for ekstra klasse ved å angi en annen verdi enn null i cbClsExtra -medlem av WNDCLASSEX -strukturen som brukes sammen med RegisterClassEx -funksjonen.

Bruk funksjonen SetClassLong med forsiktighet. For eksempel, er det mulig å endre bakgrunnsfargen for en klasse ved hjelp av SetClassLong, men denne endringen umiddelbart oppdatere ikke alle windows tilhører klassen.

Windows CE: NIndex -parameteren er en byte forskyvning, men må være et multiplum av 4 byte. Ikke-justert access støttes ikke.

Ingen av standard GCL_ * verdiene støttes i parameteren nIndex , med ett unntak. Hvis enheten du er målretting støtter en musen markøren, kan du bruke GCL_HCURSOR-verdien i nIndex -parameteren.

Note Windows CE-versjoner som støtter musepekere inneholder komponentene for Iconcurs og Mcursor i stedet for ikon- og -komponenter.

Hurtiginformasjon

nbsp; Windows &NT: krever versjon 3.1 eller senere.
Windows:Krever Windows 95 eller senere.
Windows CE:Krever versjon 1.0 eller senere.
Topptekst:Deklarert i winuser.h.
Importere biblioteket:Bruk user32.lib.
Unicode:Implementert som Unicode- og ANSI-versjoner på Windows NT.

Se også

Vinduet klasser oversikt, vinduet klassen funksjoner, GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX