SetClassLong функция заменяет указанное 32-разрядное значение (длинная) с заданным смещением в памяти высшего сорта или WNDCLASSEX структуру для класса, к которому принадлежит указанное окно.
() DWORD SetClassLong HWND hWnd, / / обработать окнаintnIndex, / / индекс значения для измененияДЛИННЫЕdwNewLong / / новое значение);
| Значение | Действия |
|---|---|
| GCL_CBCLSEXTRA | Устанавливает размер, в байтах, дополнительной памяти, связанной с классом. Установка этого значения не изменяет количество дополнительных уже выделенных байтов. |
| GCL_CBWNDEXTRA | Устанавливает размер, в байтах, дополнительное окно памяти, связанной с каждым окном в классе. Установка этого значения не изменить количество дополнительных уже выделенных байтов. Сведения о том, как получить доступ к этой памяти содержатся в разделе SetWindowLong. |
| GCL_HBRBACKGROUND | Заменяет ручку фон кисти, связанные с классом. |
| GCL_HCURSOR | Заменяет дескриптор курсора, связанные с классом. |
| GCL_HICON | Заменяет дескриптор значка, связанного с классом. |
| GCL_HMODULE | Заменяет дескриптор модуля, зарегистрированного класса. |
| GCL_MENUNAME | Заменяет адрес имя строки меню. Строка идентифицирует ресурс меню, связанные с классом. |
| GCL_STYLE | Заменяет битов стиля класса окна. |
| GCL_WNDPROC | Заменяет адрес процедуры окна, связанный с классом. |
Если функция выполнена успешно, возвращаемое значение является предыдущее значение заданного 32-разрядного целого числа. Если значение не было задано ранее, возвращаемое значение равно нулю.
Если вызов функции был неуспешен, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Если вы используете функцию SetClassLong и GCL_WNDPROC индекс для замены процедуру окна, процедура окна должны соответствовать руководящим принципам, указанных в описании функции обратного вызова WindowProc.
Вызов SetClassLong с GCL_WNDPROC индексом создает подкласс класса window, который затрагивает все окна, впоследствии создан с классом. Приложение может подкласс класса system, но следует не подкласс класса окна, созданные другим процессом.
Резервировать память высшего сорта, указав ненулевое значение в cbClsExtra член WNDCLASSEX структуры, используется с функцией RegisterClassEx.
Используйте функцию SetClassLong с осторожностью. Например можно изменить цвет фона для класса с помощью SetClassLong, но это изменение не перерисовываться сразу все окна, принадлежащие к классу.
Windows CE: Параметр nIndex — байта смещение, но должна быть кратна 4 байта. Не выровненной доступ не поддерживается.
Ни один из стандартных значений GCL_ * поддерживаются в параметре nIndex , с одним исключением. Если вы являетесь таргетинга устройство поддерживает курсор мыши, можно использовать значение GCL_HCURSOR в параметре nIndex.
Примечание Версий Windows CE, которые поддерживают курсоры мыши включают в себя компоненты Iconcurs и Mcursor, а не значок и курсор компонентов.
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Требует версии 1.0 или более поздней версии.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.
Обзор классов окна WindowProc функции класса окна, GetClassLong, RegisterClassEx, SetWindowLong, WNDCLASSEX