Функция 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 |
Нет |
Замечания по платформе |
Не имеется |