SetClassLong

SetClassLong функція замінює вказаного значення 32-розрядні (довгий) на вказаний зсув у додаткових клас пам'яті або структури WNDCLASSEX для класу, до якої належить вказаний вікна.

(DWORD SetClassLong HWND  hWnd, / / ручка вікнаIntnIndex, / / індекс значення, щоб змінитиДОВГИЙdwNewLong / / нові значення);
 

Параметри

hWnd
Ручка вікна і, непрямо, клас, до якої належить вікна.
nIndex
Визначає 32-бітні значення для заміни. Щоб установити 32-бітні значення пам'яті додаткових клас, вказати зсув позитивний, COLUMN байтів, що значення, щоб встановити. Припустимими значеннями є в діапазоні від нуля через кількість байтів додаткових клас пам'яті, мінус чотири; Наприклад, якщо вказано 12 або більше байт пам'яті додаткових клас, значення 8 буде індексу до третього 32-розрядним цілим. Щоб встановити будь-які інші значення з WNDCLASSEX структури, введіть одне з таких значень:
Значення Дія
GCL_CBCLSEXTRA Встановлює розмір у байтах, додаткову пам'ять, що зв'язані з класом. Установка цього значення не змінює додаткових байтів вже виділені.
GCL_CBWNDEXTRA Встановлює розмір, в байтах, додаткові вікна пам'яті, пов'язаних з кожного вікна в класі. Установка цього значення не змінює додаткових байтів вже виділені. Інформацію про те, як отримати доступ до цього пам'яті перегляньте SetWindowLong.
GCL_HBRBACKGROUND Замінює ручкою фону пензлів, зв'язані з класом.
GCL_HCURSOR Замінює дескриптор курсору, зв'язані з класом.
GCL_HICON Замінює дескриптор піктограми, що зв'язані з класом.
GCL_HMODULE Замінює ручкою модуль, який зареєстрований клас.
GCL_MENUNAME Замінює адресу, ім'я рядка меню. Рядок ідентифікує меню ресурсу, що зв'язані з класом.
GCL_STYLE Замінює біти стиль клас вікна.
GCL_WNDPROC Замінює адресу вікно процедура, що зв'язані з класом.

dwNewLong
Визначає значення заміна.

Повернення значень

Якщо функція завершено успішно, значення, що повертається є попереднє значення вказаного 32-розрядним цілим. Якщо значення не було раніше встановлено, значення, що повертається, є нуль.

Якщо функцію не вдається, значення дорівнює нулю. Щоб отримати докладні відомості про помилку, зателефонуйте GetLastError.

Зауваження

Якщо використовується функція SetClassLong та індекс GCL_WNDPROC замінити процедура вікно, вікно процедури мають відповідати вказівки, зазначені в описі функції зворотного виклику WindowProc.

Виклик SetClassLong з GCL_WNDPROC індекс створює підкласу клас вікна, що впливає на всі вікна, які згодом створили з класом. Застосунок може підкласу системи класу, але повинні не підкласу клас вікна створив інший процес.

Заповідник додаткових клас пам'яті, вказавши ненульове значення у WNDCLASSEX структури, які використовуються з функцією RegisterClassEx , член cbClsExtra.

Функція SetClassLong з обережністю. Наприклад, можна змінити колір тла для класу за допомогою SetClassLong, але ці зміни не відразу перемальовуючи всі вікна, що належать до класу.

Windows CE: NIndex параметр є байт зсув, але має бути кратним 4 байт. Невирівняний доступу не підтримується.

Ні один з стандартних GCL_ * значення підтримуються в параметрі nIndex , з одним винятком. Якщо пристрій, що ви є Вибір цільової підтримує курсор миші, можна використовувати GCL_HCURSOR цінність в параметрі nIndex.

Примітка Windows CE версії, що підтримує курсори миші включають Iconcurs і Mcursor компоненти, а не значок і курсор компоненти.

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.
Юнікод:Реалізований у вигляді Юнікод і ANSI версії на Windows NT.

Дивіться також

Огляд вікна класів, функцій клас вікна, GetClassLong, RegisterClassEx, SetWindowLong, WindowProc, WNDCLASSEX