Функция GetClassLong извлекает заданное 32-разрядное (long) значение из структуры WNDCLASSEX, связанной с указанным окном.
Синтаксис
DWORD GetClassLong( HWND hWnd, int nIndex ); |
Параметры
hWnd
[in] Дескриптор окна и, косвенно, класс которому окно принадлежит.nIndex
[in] Устанавливает извлекаемое 32-разрядное значение. Чтобы извлечь 32-разрядное значение из дополнительной памяти класса, задайте положительное, отсчитываемое от нуля смещение байта извлекаемого значения. Допустимые значения находятся в диапазоне от нуля до числа байтов дополнительной памяти класса, минус четыре; например, если бы Вы определили 12 или больше байтов дополнительной памяти класса, значение 8 будет индексом третьего 32-разрядноого целого числа. Чтобы извлечь любое другое значение из структуры WNDCLASSEX, установите одно из ниже перечисленных значений.
| Значение | Предназначение |
| GCW_ATOM | Извлекает данные о значении АТОМА, которое уникально идентифицирует класс окна. Это - один и тот же атом, что и при возвращении значения функцией RegisterClassEx. |
| GCL_CBCLSEXTRA | Извлекает размер дополнительной памяти, связанной с классом, в байтах. |
| GCL_CBWNDEXTRA | Извлекает размер дополнительной памяти окна, связанной с каждым окном в классе, в байтах. За информацией о том, как получить доступ к этой памяти, обратитесь к описанию функции GetWindowLong. |
| GCL_HBRBACKGROUND | Извлекает дескриптор кисти фона, связанной с классом. |
| GCL_HCURSOR | Извлекает дескриптор курсора, связанного с классом. |
| GCL_HICON | Извлекает дескриптор значка, связанного с классом. |
| GCL_HICONSM | Извлекает дескриптор маленького значка, связанного с классом. |
| GCL_HMODULE | Извлекает дескриптор модуля, который зарегистрировал класс. |
| GCL_MENUNAME | Извлекает адрес строки с именем меню. Строка идентифицирует ресурс меню, связанный с классом. |
| GCL_STYLE | Извлекает данные о битах стиля класса окна. |
| GCL_WNDPROC | Извлекает адрес оконной процедуры, или дескриптора, обозначающего адрес оконной процедуры. Вы должны использовать функцию CallWindowProc, чтобы вызвать оконную процедуру. |
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - затребованное 32-разрядная величина.
Если функция завершается ошибкой, возвращаемое значение равняется нулю. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Резервируйте дополнительную память класса, определяя ненулевое значение в члене cbClsExtra структуры WNDCLASSEX, используемой с функцией RegisterClassEx.
Функция GetClassLongW поддерживается программой Microsoft Layer for Unicode (MSLU).
| Обратите внимание! на то, что последующие вызовы этой функции будут переписывать результат работы предыдущего вызова, так что Вы должны сохранить какой-либо результат, который Вы хотите использовать позже. |
Чтобы использовать эту версию, Вы должны добавить некоторые файлы в ваше приложение, как изложено в Microsoft Layer for Unicode для систем Windows 95/98/Me.
Смотри также
Обзор Классы окна, Функции, используемые классами окна, GetClassLongPtr, GetWindowLong, RegisterClass, RegisterClassEx, SetClassLong, WNDCLASSEX
|
Размещение и совместимость GetClassLong |
|
|
Windows. NET Server |
Да |
|
Windows XP |
Да |
|
Windows 2000 |
Да |
|
Windows NT |
Да версии 3.1 и выше |
|
Windows Me |
Да |
|
Windows 98 |
Да |
|
Windows 95 |
Да |
|
Используемая библиотека |
User32.lib |
|
Заголовочный файл |
|
|
- объявлено в |
Winuser.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |