Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Biblioteki C/C++

GetWindowLong

[funkcja] Odczytuje atrybuty okna.
Aby napisać kod kompatybilny z 32-bitową oraz 64-bitową wersją systemu Windows, użyj funkcji GetWindowLongPtr.

Składnia

C/C++
#include <windows.h>

LONG WINAPI GetWindowLong( HWND hWnd, int nIndex );

Argumenty

ArgumentOpis
hWndUchwyt do okna.
nIndexWartość przesunięcia (liczona od zera) do ustawienia. Prawidłowe wartości znajdują się w zakresie od zera do liczby dodatkowych bajtów pamięci dla okna pomniejszonej o rozmiar liczby całkowitej. Wartość tego argumentu może być również jedną z poniższych stałych:
NazwaWartośćZnaczenie
GWL_EXSTYLE-20Pobiera rozszerzony styl okna.
GWL_HINSTANCE-6Pobiera uchwyt do instancji programu.
GWL_HWNDPARENT-8Pobiera uchwyt do okna rodzica (jeśli dane okno ma rodzica).
GWL_ID-12Pobiera identyfikator okna potomnego.
GWL_STYLE-16Pobiera style okna.
GWL_USERDATA-21Pobiera dane użytkownika powiązane z oknem. Takie dane są przeznaczone do użycia przez program, który utworzył okno. Na początku ta wartość jest zerem.
GWL_WNDPROC-4Pobiera adres procedury okna.
 Poniższe wartości są również dostępne, gdy argument hWnd określa okno dialogowe:
NazwaWartośćZnaczenie
DWL_DLGPROC
DWLP_MSGRESULT + sizeof( LRESULT )
Pobiera adres procedury obsługi dialogu.
DWL_MSGRESULT0Pobiera zwracaną wartość komunikatu przetwarzanego w procedurze okna dialogowego.
DWL_USER
DWLP_DLGPROC + sizeof( DLGPROC )
Pobiera dodatkowe informacje, takie jak uchwyty lub wskaźniki.

Zwracana wartość

Jeśli funkcja zakończy się prawidłowo, zwracana wartość zawiera żądane informacje o oknie. Jeśli wystąpią błędy, zwracaną wartością jest zero. Aby uzyskać rozszerzone informacje o błędach, wywołaj funkcję » WinAPIGetLastError. Jeśli funkcja » WinAPISetWindowLong nie została wcześniej wywołana w celu ustawienia danego atrybutu okna, ta funkcja zwróci zero w przypadku pobierania wartości dodatkowej pamięci dla okna lub klasy.

Dodatkowe informacje

Do wywołania procedury obsługi okna pobranej przez tą funkcję należy użyć funkcji » WinAPICallWindowProc. Zarezerwowana dodatkowa pamięć dla okna przez określenie niezerowej wartości składowej cbWndExtra struktury » WinAPIWNDCLASSEX jest używana z funkcją » WinAPIRegisterClassEx.

Wymagania

Minimalny system klientaWindows 2000 Professional (tylko aplikacje biurowe).
Minimalny system serweraWindows 2000 Server (tylko aplikacje biurowe).
NagłówekWinuser.h (dołącza Windows.h)
BibliotekaUser32.lib
DLLUser32.dll
UNICODEGetWindowLongW
ANSIGetWindowLongA

Linki zewnętrzne