WNDCLASS

WNDCLASS структура містить атрибути клас вікна зареєстрованих за допомогою функції RegisterClass.

Ця структура була замінена WNDCLASSEX структура використовується разом із функцією RegisterClassEx . Ви можете використовувати WNDCLASS і RegisterClass Якщо вам не потрібно встановити невеликий значок, закріплений за клас вікна.

typedef _WNDCLASS типу struct {UINT стиль; 
    WNDPROC lpfnWndProc; 
    Int cbClsExtra; 
    Int cbWndExtra; 
    Ручка hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS 

 

Члени

стиль
Визначає класу style(s). Стилі можуть бути об'єднані з використанням порозрядне OR оператор (|). Цей компонент може бути будь-яка комбінація таких значень:
Значення Дія
CS_BYTEALIGNCLIENT Вирівнює клієнтської області вікна на кордоні байт (у напрямку осі x). Цей стиль впливає на ширину вікна та її горизонтальну позицію на дисплеї.
CS_BYTEALIGNWINDOW Вирівнює вікно на межу байт (у напрямку осі x). Цей стиль впливає на ширину вікна та її горизонтальну позицію на дисплеї.
CS_CLASSDC Виділяє один пристрій контекст для спільного використання всіх вікон в класі. Тому, що вікно класи конкретний процес, це можливо для декілька потоків програми створити вікно з одного класу. Це також можливо для теми, щоб спробувати використовувати пристрій контексті одночасно. Коли це відбудеться, система дозволяє лише один потік успішно закінчити його операція малювання. Докладніше, перегляньте статтю Контекстах пристрою.
CS_DBLCLKS Надсилання двічі клацнути повідомлення, у вікні порядку, коли користувач double-clicks миші, коли курсор розташовано в межах вікна, що належать до класу.
CS_GLOBALCLASS Дозволяє програмі створити вікно класу незалежно від значення параметра hInstance , переданих до CreateWindow або CreateWindowEx функції. Якщо не вказати цей стиль, hInstance параметр, переданий функції CreateWindow (або CreateWindowEx) має бути так само, як hInstance параметр, переданий функції RegisterClass.
Можна створити глобальний класу за створення клас вікна бібліотеки динамічного компонування (DLL) і перелік ім'я DLL в реєстрі під такі клавіші:
HKEY_LOCAL_MACHINE\програмне забезпечення
\Майкрософт\Windows NT\
CurrentVersion\Windows\AppInit_DLLs
Кожного разу, коли починається процес, система завантажує вказаний DLL в рамках недавно почав процес перед викликом точку входу функції в цьому процесі. DLL необхідно зареєструвати клас під час його ініціалізації та необхідно вказати стиль CS_GLOBALCLASS.
CS_HREDRAW Перемальовує вікно повністю, якщо рух або регулювання розміру змінює ширину області клієнта.
CS_NOCLOSE Вимикає Закрити меню вікно.
CS_OWNDC Виділяє контексті унікальний пристрій для кожного вікна в класі.
CS_PARENTDC Встановлює обрізання дитині вікна які вікна батьків, щоб дитина може спиратися на батьків. Вікно з bit CS_PARENTDC стиль отримує регулярні пристрій контексті від системи кеш пристрою контекстах. Вона не дає дитині батьків пристрій контекст або контекст параметри пристрою. Зазначення CS_PARENTDC підвищує продуктивність додатків. Докладніше, перегляньте статтю Контекстах пристрою.
CS_SAVEBITS Збереження як крапковий малюнок, частину зображення на екрані, obscured вікно. Система використовує збережені бітових відтворити зображення на екрані, коли вікно видаляється. Система відображення малюнка на початковому місці і не відправити WM_PAINT повідомлень Windows obscured вікна, пам'ять, що використовується на точковий рисунок не видалено, і якщо інші дії екран є недійсним збережене зображення. Цей стиль є корисним для малих windows (наприклад, меню або діалогових вікнах), які відображаються коротко і натисніть Видалити, щоб інші екрану діяльності відбувається. Цей стиль збільшує час, потрібний для відображення вікна, тому що система повинна спочатку виділити пам'ять для збереження малюнка.
CS_VREDRAW Перемальовує вікно повністю, якщо рух або регулювання розміру змінить висота клієнтської області.

lpfnWndProc
Вказівник миші, щоб вікно процедури. Ви повинні функція CallWindowProc для виклику процедури вікно. Докладніше перегляньте статтю WindowProc.
cbClsExtra
Визначає кількість додаткових байтів виділити наступні структури клас вікна. Система ініціалізує байт на нуль.
cbWndExtra
Визначає кількість додаткових байтів виділити наступні вікно екземпляр. Система ініціалізує байт до нуля. Якщо застосунок використовує WNDCLASS зареєструвати діалогове вікно, створений за допомогою Директиви клас у файл ресурсів, його необхідно встановити цей член DLGWINDOWEXTRA.
hInstance
Обробляти до прикладу, що цього класу, процедура вікно, що знаходиться в межах.
hIcon
Ручкою на значок клас. Цей компонент має бути дескриптор піктограми ресурсу. Якщо цей компонент NULL, програма повинна спиратися значок, кожного разу, коли користувачеві, щоб згорнути вікно програми.
hCursor
Обробляти до класу курсор. Цей компонент має бути дескриптор курсору ресурсу. Якщо цей компонент NULL, програма має явно встановити форму курсору, кожного разу, коли миша рухається у вікно програми.
hbrBackground
Обробляти до класу фону пензля. Цей компонент може бути дескриптор фізичної пензля буде використовуватися для малювання фон, або це може бути значення кольору. Значення кольору повинна бути однією з таких кольорів стандартної системи (значення 1 повинно бути додано до вибраного кольору). Якщо значення кольору огляду, вам необхідно перетворити його до одного з таких типів HBRUSH:

COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENU
COLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT

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

Коли цей компонент NULL, додаток повинні фарба свій власний фон, кожного разу, коли він просив малювати своєї клієнтської області. Щоб визначити, чи фон має бути пофарбовані, заявку можна обробити повідомлення WM_ERASEBKGND або перевірити fErase член на PAINTSTRUCT структури заповнені в BeginPaint функції.

lpszMenuName
Вказівник на рядок нульовим символів, яке вказує ім'я ресурсу клас меню, як ім'я з'явиться в файл ресурсів. Якщо ви використовуєте ціле число, щоб визначити меню, MAKEINTRESOURCE макрос. Якщо цей компонент NULL, windows до цього класу є меню не за промовчанням.
lpszClassName
Вказівник на рядок із нульовим або атома. Якщо цей параметр атома, вона повинна бути глобальної atom, створені попередній виклик функції GlobalAddAtom . Atom, 16-бітові значення, повинні бути в порядку Низька слово lpszClassName; слово вищого порядку повинні бути нульовим.

Якщо lpszClassName рядка, вона визначає ім'я класу вікна.

QuickInfo

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

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

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

Index