SetWindowLong

SetWindowLong funkcia zmení atribútu zadané okno. Funkciu tiež nastaví hodnotu 32-bitové (dlhou) na odsadení špecifikovaných do pamäte navyše okno okna.

Dlhé SetWindowLong ( HWND  hWnd; / / zvládnuť oknointnIndex; / / kompenzovať hodnoty nastaviťDlhédwNewLong / / nové hodnoty);
 

Parametre

hWnd
Zvládnuť okna a nepriamo triedy, do ktorej patrí okna.
nIndex
Určuje zero-based posun hodnota, ktorú chcete nastaviť. Platné hodnoty sú v rozsahu nula prostredníctvom počet bajtov pamäte navyše okno mínus 4; napríklad, ak ste zadali 12 alebo viac bajtov mimoriadne pamäti, hodnotu 8 by register tretej 32-bitové celé číslo. Ak chcete nastaviť inú hodnotu, zadajte jednu z nasledovných hodnôt:
Hodnota Akcia
GWL_EXSTYLE Nastaví nové rozšírené et2l okna.
GWL_STYLE Nastaví nové et2l okna.
GWL_WNDPROC Určuje novú adresu pre režim okna.
GWL_HINSTANCE Nastaví nové popisovač inštancie aplikácie.
GWL_ID Nastavuje nový identifikátor okna.
GWL_USERDATA Nastaví hodnotu 32-bitové spojené s oknom. Každú testovaciu jamku má zodpovedajúce 32-bitové hodnoty určené na použitie aplikáciou, ktorá vytvorila okna.

Tieto hodnoty sú k dispozícii, aj keď hWnd parameter určuje dialógové okno:
Hodnota Akcia
DWL_DLGPROC Určuje novú adresu dialógové okno pole postup.
DWL_MSGRESULT Nastaví vrátenej hodnoty správy spracované v dialógovom okne blok postup.
DWL_USER Nastaví nové dodatočné informácie, ktoré je súkromný do aplikácie, ako napríklad rukoväte alebo ukazovatele.

dwNewLong
Určuje reprodukčná hodnota.

Note:

Ak funkciu podarí, vrátená hodnota je predchádzajúcu hodnotu špecifikované 32-bitové celé číslo.

Ak funkcia zlyhá, vrátená hodnota je nula. Získajte rozšírené informácie o chybách, volajte na číslo GetLastError.

Ak predchádzajúca hodnota zadaná 32-bitové celé číslo je nula a funkciu uspeje, vrátená hodnota je nula, ale funkcia nie je jasné posledný informácie o chybách. To je ťažké určiť úspech alebo neúspech. Vyrovnať sa s týmto mali vymazať posledný informácie o chybách volaním SetLastError(0) pred volaním SetWindowLong. Potom funkčné zlyhanie bude označená vrátenú hodnotu nula a GetLastError výsledok, ktorý je nenulové.

Poznámky

SetWindowLong funkcia zlyhá Ak okno podľa zadaného parametra hWnd nepatrí do toho istého procesu ako volania vlákno.

Určité údaje okno je cache, takže zmeny, ktoré vykonáte pomocou SetWindowLong nenadobudne účinnosť, kým budete volať funkciu SetWindowPos.

Ak používate SetWindowLong s indexom GWL_WNDPROC nahradiť postupu okna, okno postup musí zodpovedať pokynmi špecifikovanými v popise funkcie spätného volania WindowProc.

Ak používate SetWindowLong s indexom DWL_MSGRESULT nastaviť vrátenej hodnoty pre správu spracovávané dialógového postupu, by mala vrátite pravda priamo neskôr. V opačnom prípade, ak zavoláte žiadne funkcie, ktorá má za následok váš postup dialógového okna hlásenie, vnorené okno správy mohli prepísať vrátenú hodnotu môžete nastaviť pomocou DWL_MSGRESULT.

Volanie SetWindowLong s indexom GWL_WNDPROC vytvorí podtriedy okno trieda sa používa na vytvorenie okna. Žiadosť môže podtriedy systému triedy, ale by nie podtriedy triedu okna vytvorený iný proces. SetWindowLong funkcia vytvára okno podtriedy zmenou postupu okno spojené s najmä okno triedy, spôsobuje systém volať nový postup okno namiesto predchádzajúcu. Žiadosť musí prechádzať všetky správy neboli spracované nový postup okno postupu predchádzajúceho okna volaním CallWindowProc. To umožňuje uplatnenie vytvoriť reťaz okno postupy.

Vyhradiť ďalšie okno pamäte zadaním nenulovú hodnotu vo cbWndExtra členských WNDCLASSEX štruktúry používané funkciou RegisterClassEx.

SetWindowLong musia nevyžadujú s indexom GWL_HWNDPARENT chcete zmeniť parent dcérskym oknom. Namiesto toho použite funkciu SetParent.

Windows CE: NIndex parameter musí byť násobkom 4 bajty.

Nezarovnanej prístup nie je podporovaný.

Tieto hodnoty parametra nIndex nie sú podporované:

GWL_HINSTANCE

GWL_HWNDPARENT

GWL_USERDATA

Verzie systému Windows CE 2.0 a neskoršie podporujú hodnotu DWL_DLGPROC v parametri nIndex , ale systém Windows CE 1.0 nie je.

Stručné informácie

nbsp; Systém Windows &NT: vyžaduje verzia 3.1 alebo novšia.
Windows:Vyžaduje systém Windows 95 alebo novším.
Windows CE:Vyžaduje verziu 1.0 alebo novšiu verziu.
Hlavičky:Deklarovaný v súbore winuser.h.
Importovať knižnica:Použiť user32.lib.
Unicode:Implementovaný ako Unicode, ANSI verzia v systéme Windows NT.

Pozri tiež

Okno triedy prehľad okno triedy funkcie, CallWindowProc, GetWindowLong, RegisterClassEx, SetParent, WindowProc, WNDCLASSEX

Index