CreateWindowEx

Функція CreateWindowEx створює перекриваються, виринаюче вікно або дитини вікно з розширеного стиль; в іншому випадку функція ідентична CreateWindow функції. Для отримання додаткових відомостей про створення вікна і для повного опису інших параметрів CreateWindowExперегляньте CreateWindow.

(HWND CreateWindowEx DWORD  dwExStyle, / / розширений стиль вікнаLPCTSTRlpClassName, / / ім'я класу, зареєстрованих: вказівник наLPCTSTRlpWindowName, / / вказівник на ім'я вікнаDWORDdwStyle, / / стиль вікна int x, / / горизонтальна позиція вікна int y, / / вертикальна позиція вікна intnWidth, / / ширина вікна intnHeight, / / висоту вікнаHWNDhWndParent, / / ручка для батьків або власник вікноHMENUhMenu, / / ручка, меню, або ідентифікатор дочірнього вікнаHINSTANCEhInstance, / / ручка екземпляр програмиLPVOIDlpParam / / вказівник для створення вікна даних);
 

Параметри

dwExStyle
Визначає розширеного стиль вікна. Цей параметр може бути одне з таких значень:
Стиль Значення
WS_EX_ACCEPTFILES Визначає, що вікно, створені за допомогою цього стилю приймає перетягування файлів.
WS_EX_APPWINDOW Сили верхнього рівня вікна на панелі завдань, коли вікно є видимими.
WS_EX_CLIENTEDGE Визначає, що вікно має межу з затонулого краю.
WS_EX_CONTEXTHELP Містить знак запитання у рядку заголовка вікна. Коли користувач натискає знак питання, коли вказівник зміниться на знак питання вказівником. Якщо користувач натискає дочірнього вікна, дитина отримує WM_HELP повідомлення. Дочірнього вікна повинні прийняти повідомлення до батьківського вікно процедури, які повинні викликати функцію WinHelp , використовуючи команду "HELP_WM_HELP". Програма допомоги відображає спливаюче вікно, яке зазвичай містить допомога для дочірнього вікна.

WS_EX_CONTEXTHELP не може використовуватися з WS_MAXIMIZEBOX або WS_MINIMIZEBOX стилі.

WS_EX_CONTROLPARENT Користувач може переміщатися між дитиною windows вікна за допомогою клавіші tab.
WS_EX_DLGMODALFRAME Створює вікно, яке має подвійний кордону; вікна можна за потреби, створити з рядка заголовка, вказавши стиль WS_CAPTION в параметрі dwStyle.
WS_EX_LEFT Вікно містить загальні властивості "за лівим краєм". Це за замовчуванням.
WS_EX_LEFTSCROLLBAR Якщо мова оболонки івриті, арабською або іншій мові, що підтримує читання порядку вирівнювання, вертикальну смугу прокрутки (якщо є) є ліворуч від області клієнта. Для інших мов стилі ігноруються і не інтерпретуватиметься як помилка.
WS_EX_LTRREADING Вікно текст відображається за допомогою зліва направо порядок читання Властивості. Це за замовчуванням.
WS_EX_MDICHILD Створює з вікна MDI дитини.
WS_EX_NOPARENTNOTIFY Визначає, що дочірнього вікна, створені за допомогою цього стилю не відправити WM_PARENTNOTIFY повідомлення для вікна, що його батько, коли він створюється або знищується.
WS_EX_OVERLAPPEDWINDOW Поєднує в собі стилі WS_EX_CLIENTEDGE і WS_EX_WINDOWEDGE.
WS_EX_PALETTEWINDOW Поєднує в собі WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW і WS_EX_TOPMOST стилі.
WS_EX_RIGHT Вікно має загальний "за правим краєм" Властивості. Це залежить від клас вікна. Цей стиль, мають ефект, тільки якщо мова оболонки івриті, арабською або іншої мови, яка підтримує читання замовити вирівнювання; в іншому випадку, стилі ігноруються і не інтерпретуватиметься як помилка.
WS_EX_RIGHTSCROLLBAR Вертикальну смугу прокрутки (якщо є) є право області клієнта. Це за замовчуванням.
WS_EX_RTLREADING Якщо мова оболонки івриті, арабською або іншій мові, що підтримує читання порядку вирівнювання, вікно текст відображається за допомогою право на лівому порядок читання Властивості. Для інших мов стилі ігноруються і не інтерпретуватиметься як помилка.
WS_EX_STATICEDGE Створює вікно з стиль тривимірних межі, призначена для використання для елементів, які не приймають введення користувача.
WS_EX_TOOLWINDOW Створює інструмент-вікно; тобто, вікно призначена для використання як на переміщувану панель інструментів. Інструмент-вікно має рядок заголовка, коротше, ніж нормальний заголовок, і звертається заголовок вікна зменшити шрифт. Інструмент-вікно не з'являється на панелі завдань або в діалоговому вікні, що з'являється, коли користувач натискає на клавіші alt + tab. Якщо вікно інструмент має системного меню, значок не відображається в рядку заголовка. Однак, можна відобразити системне меню клацніть правою кнопкою миші або ввівши alt + пробіл.
WS_EX_TOPMOST Визначає, що вікно, створені за допомогою цього стилю повинні бути розміщені, перш за все не найвищий windows і повинен залишатися над ними, навіть тоді, коли вікно буде деактивовано. Щоб додати або видалити цей стиль, слід використовувати функцію SetWindowPos.
WS_EX_TRANSPARENT Визначає, що вікно, створені за допомогою цього стилю повинні не бути пофарбовані поки намалював братів і сестер під вікна (які були створені в тому ж потоці). Вікно буде відображено прозорі, тому що біти базової брат windows вже намалював.

Для досягнення прозорості без цих обмежень, використання на SetWindowRgn функції.

WS_EX_WINDOWEDGE Визначає, що вікно має межу з підняли краю.

За допомогою WS_EX_RIGHT стиль для статичного або елементах керування має такий самий ефект, як за допомогою SS_RIGHT або ES_RIGHT стилю, відповідно. За допомогою цього стилю з кнопки управління має такий самий ефект, як за допомогою BS_RIGHT і BS_RIGHTBUTTON стилів.

lpClassName
Вказівник на рядок із нульовим або є атом ціле число. Якщо lpClassName атома, вона повинна бути глобальної atom, створені попередній виклик GlobalAddAtom. Атома, 16-бітові значення, менше за 0xC000, має бути слово Низька порядку lpClassName; слово вищого порядку повинні бути нульовим.

Якщо lpClassName є рядок, вказує ім'я класу вікна. Ім'я класу можуть бути будь-яким зареєстрований з RegisterClassEx функції, або будь-який стандартний елемент керування клас імен.

lpWindowName
Курсор в рядок з нульовим, яке вказує ім'я вікна.

Якщо вікно стиль визначає рядок заголовка, заголовок вікна, вказав на lpWindowName відображається в рядку заголовка. Під час створення елементів керування, наприклад, кнопки, прапорці та статичні елементи керування, за допомогою CreateWindow використовувати lpWindowName , щоб визначити текст елемента керування.

dwStyle
Визначає стиль вікна, що створюється. Цей параметр може бути поєднання таких стилів вікна, а також стилі керування зазначено в розділі зауваження.
Стиль Значення
WS_BORDER Створює вікно, яке має тонкі лінії межі.
WS_CAPTION Створює вікно, яке має рядок заголовка (включає WS_BORDER стиль).
WS_CHILD Створення дочірнього вікна. Цей стиль не може використовуватися з WS_POPUP стиль.
WS_CHILDWINDOW Так само, як WS_CHILD стилю.
WS_CLIPCHILDREN Виключає площа, займана дитини windows під час малювання відбувається в межах вікна батьків. Цей стиль використовується під час створення вікна батьків.
WS_CLIPSIBLINGS Кліпи дитини windows по відношенню один до одного; коли конкретний дочірнього вікна отримує на WM_PAINT повідомлень, WS_CLIPSIBLINGS стиль кліпи всі інші дитини вікон, які перекриваються з регіону дочірнього вікна буде оновлюватися. Якщо не вказано WS_CLIPSIBLINGS, і дочірні вікна накладаються, це можливо, коли малюнок на території клієнт дочірнього вікна, щоб намалювати на території клієнт сусідніх дочірнього вікна.
WS_DISABLED Створює вікно, в якому спочатку вимкнуто. Інвалідів вікно не вдалося отримати введення від користувача.
WS_DLGFRAME Створює вікно, яке має межу стилю, як правило, використовується з діалогових вікон. Вікно з цей стиль не може мати рядок заголовка.
WS_GROUP Визначає перший елемент керування до групи елементів керування. Група складається з цього першого елемента керування і всі елементи керування, визначені після нього, аж до наступного елемента керування з WS_GROUP стилю. Перший елемент керування на кожній групі зазвичай має стиль WS_TABSTOP, так що користувач може рухатися з групи до групи. Користувач може змінити фокусу клавіатури з одного елемента керування у групі до наступного елемента керування у групі за допомогою клавіші напрямку.
WS_HSCROLL Створює вікно, яке має горизонтальної смуги прокручування.
WS_ICONIC Створює вікно, в якому спочатку зведені до мінімуму. Так само, як WS_MINIMIZE стилю.
WS_MAXIMIZE Створює спочатку розгорнутого вікна.
WS_MAXIMIZEBOX Створює вікно, яке має кнопку Розгорнути. Не може поєднуватися з WS_EX_CONTEXTHELP стилю. Стиль WS_SYSMENU, які також повинні бути визначені.
WS_MINIMIZE Створює вікно, в якому спочатку зведені до мінімуму. Так само, як WS_ICONIC стилю.
WS_MINIMIZEBOX Створює вікно, яке містить кнопку Згорнути. Не може поєднуватися з WS_EX_CONTEXTHELP стилю. Стиль WS_SYSMENU, які також повинні бути визначені.
WS_OVERLAPPED Створює перекриваються вікно. Перекриваються вікно має рядок заголовка та межа. Так само, як WS_TILED стилю.
WS_OVERLAPPEDWINDOW Створює перекриваються вікно з WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX та WS_MAXIMIZEBOX стилі. Так само, як WS_TILEDWINDOW стилю.
WS_POPUP Створює спливаюче вікно. Цей стиль не може використовуватися з WS_CHILD стиль.
WS_POPUPWINDOW Створює спливаюче вікно з WS_BORDER, WS_POPUP і WS_SYSMENU стилі. Стилі WS_CAPTION і WS_POPUPWINDOW повинні бути об'єднані для відображення меню вікна.
WS_SIZEBOX Створює вікно, яке має межу маркерами зміни розміру. Так само, як WS_THICKFRAME стилю.
WS_SYSMENU Створює вікно, яке має меню вікна на рядок заголовка. Стиль WS_CAPTION, які також повинні бути визначені.
WS_TABSTOP Визначення контролю, яка може отримувати фокус вводу, коли користувач натискає клавішу tab. Клавіші tab зміни фокусу клавіатури до наступного елемента керування з WS_TABSTOP стиль.
WS_THICKFRAME Створює вікно, яке має межу маркерами зміни розміру. Так само, як WS_SIZEBOX стилю.
WS_TILED Створює перекриваються вікно. Перекриваються вікно має рядок заголовка та межа. Так само, як WS_OVERLAPPED стилю.
WS_TILEDWINDOW Створює перекриваються вікно з WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX та WS_MAXIMIZEBOX стилі. Так само, як WS_OVERLAPPEDWINDOW стилю.
WS_VISIBLE Створює вікна, що відображено.
WS_VSCROLL Створює вікно, яке має вертикальної смуги.

x
Визначає початковий горизонтального положення вікна. Для перекриваються або спливаючі вікна параметр x є початок координат x з верхнього лівого кута вікна, в екранних координатах. Для дочірнього вікна x є x координати верхньому лівому кутку вікна по відношенню до верхній лівий кут області вікна батьківського клієнта.

Якщо x є CW_USEDEFAULT, система вибирає розташування за промовчанням для верхнього лівого кута вікна і не враховує параметр y . CW_USEDEFAULT діє лише для перекриваються windows; Якщо він вказаний для виринаюче вікно або дитини вікні x та y параметрів налаштовані на нуль.

y
Визначає початковий вертикальне розташування вікна. Для перекриваються або спливаючі вікна параметр y є початок у координатою верхнього лівого кута вікна, в екранних координатах. Для дочірнього вікна y — це початковий у координатою верхній лівий кут вікна дитини по відношенню до верхній лівий кут області вікна батьківського клієнта. Для списку y — це початковий у координатою верхній лівий кут області Список із клієнта по відношенню до верхній лівий кут області вікна батьківського клієнта.

Якщо перекриваються вікно створюється з набором bit WS_VISIBLE стиль і CW_USEDEFAULT має значення параметра x , система ігнорує параметра y.

nWidth
Визначає товщину у пристрій одиниць, вікна. Для windows перекриваються nWidth є ширина вікна в екранних координатах, або CW_USEDEFAULT. Якщо nWidth CW_USEDEFAULT, система вибирається за замовчуванням ширину і висоту вікна; за замовчуванням ширина простягається від початок координат x до правого краю екрана; за промовчанням висота простягається від початкового у координатою у верхній частині області значок. CW_USEDEFAULT діє лише для перекриваються windows; Якщо виринаюче вікно або дитини вікна CW_USEDEFAULT, nWidth і nHeight параметр встановити на нуль.
nHeight
Визначає висоту, в одиницях пристрою, вікна. Для windows перекриваються nHeight є висота вікна, в екранних координатах. Якщо параметра nWidth встановлено CW_USEDEFAULT, система ігнорує nHeight.
hWndParent
Обробляти до батьків або власник вікна у вікно, що створюється. Створення дочірнього вікна або власності вікно, постачання дескриптор дійсний вікна. Цей параметр не є обов'язковим для виринаючих вікон.

Windows NT 5.0 і більш пізніх: Створити повідомлення лише вікно, постачання HWND_MESSAGE або дескриптор наявному вікні повідомлення лише для читання.

hMenu
Обробляти до меню або визначає ідентифікатор дочірнього вікна, залежно від того, стиль вікна. Для перекриваються або спливаючі вікна hMenu ідентифікує меню для використання з вікна; Це може бути значення NULL, якщо меню класу буде використовуватися. Для дочірнього вікна hMenu визначає ідентифікатор дочірнього вікна, ціле значення, використовується елемент керування діалоговому вікні повідомити про своїх батьків про події. Програма визначає ідентифікатор дочірнього вікна; Він має бути унікальним для всіх вікон дитини з те ж вікно із батьків.
hInstance
Обробляти екземпляр модуль з вікна.
lpParam
Вказівник на значення передаються до вікна через CREATESTRUCT структуру пройшло в параметрі lParam WM_CREATE повідомлення. Якщо в застосунку дзвінки CreateWindow створити декілька документів інтерфейс (MDI) клієнт вікно, lpParam має вказувати CLIENTCREATESTRUCT структури.

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

Якщо функцію виконано успішно, значення, що повертається, є дескриптор нове вікно.

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

Зауваження

Функція CreateWindowEx посилає повідомлень WM_NCCREATE, WM_NCCALCSIZE і WM_CREATE у вікно, що створюється.

Відомості про керування чи панелі завдань відображається кнопка створені вікна, бачити Видимість кнопки панелі завдань.

Горгани попередньо керування можуть бути визначені в параметрі lpClassName . Примітка відповідного елемента керування стилями, ви можете використовувати в параметрі dwStyle.

Клас Значення
КНОПКА Визначає невеликий прямокутний дочірнього вікна, що представляє кнопку, яку користувач може натискати для увімкнення та вимкнення. Кнопки управління можуть бути використані окремо або в групах, і вони або можуть бути позначені або з'явиться без тексту. Кнопки управління зазвичай змінити вигляд, коли користувач натискає їх. Докладніше перегляньте статтю кнопки.
Для таблиці стилів кнопки, указаним в параметрі dwStyle переглянути Стилі кнопки.
COMBOBOX Визначає елемента керування, що складається з список і поле виділення, схожі на поля. При використанні цього стилю, програма повинна або відображення списку на всі часи або увімкнути розкривного списку. Якщо список відображається, введення символів у поле виділення виділяє перший список поле рядочку, що співпадатиме символи, які ввели. І навпаки, виберіть елемент у списку відображається виділений текст в області виділення. Докладніше перегляньте Поля зі списком.
Для таблиці стилів поле зі списком, можна вказати в параметрі dwStyle див. Стилі поля зі списком.
РЕДАГУВАТИ Визначає прямокутну дочірнього вікна, в якому можна вводити текст з клавіатури. Користувач вибирає елемента керування і дає йому фокусу клавіатури, клацніть його або перемістивши до неї за допомогою клавіші tab. Користувач може ввести текст, під час редагування відображається миготливий Клавішна; Використовуйте мишу, щоб перемістити курсор, вибрати символи, щоб замінити, або розташуйте курсор для вставлення символів; або видаліть символи за допомогою клавіші backspace. Докладніше перегляньте статтю Редагувати елементи керування.
Таблиці стилів контроль редагування, можна вказати в параметрі dwStyle див Редагувати елемент керування стилями.
ЕЛЕМЕНТ Визначає перелік рядки символів. Кожного разу, коли заявки повинні представити список імен, наприклад, імена файлів, з якого користувач може вибрати, укажіть цей елемент керування. Користувач може вибрати рядок, клацнувши його. Вибраний рядок буде виділено, а повідомлення про передається до вікна батьків. Докладніше перегляньте Список полів.
Для таблиці стилів поле списку, можна вказати в параметрі dwStyle перегляньте Список поле стилів.
MDICLIENT Визначає з вікна MDI клієнта. Саме воно отримує повідомлення, що контроль дитини вікна MDI. Рекомендовані стиль біти, WS_CLIPCHILDREN і WS_CHILD. Вкажіть стилі WS_HSCROLL і WS_VSCROLL для створення клієнт вікна MDI, що дозволяє користувачеві виділити MDI дитини windows у поданні. Докладніше перегляньте Декілька документів інтерфейс.
RichEdit Визначає елемента керування Rich Edit версії 1.0. Це вікно дозволяє користувачеві подання і редагувати текст із символів та абзацу та можуть містити впроваджені об'єкти COM. Докладніше перегляньте Rich редагувати елементи керування.
Для таблиці стилів керування форматованого тексту, можна вказати в параметрі dwStyle бачити Rich редагувати елемент керування стилі.
RICHEDIT_CLASS Визначає елемента керування Rich Edit Версія 2.0. Цей контролює нехай користувача подання і редагувати текст із символів та абзацу і можуть містити впроваджені об'єкти COM. Докладніше перегляньте Rich редагувати елементи керування.
Для таблиці стилів керування форматованого тексту, можна вказати в параметрі dwStyle бачити Rich редагувати елемент керування стилі.
СМУГА ПРОКРУТКИ Визначає прямокутник, який містить бігунка і напрямку стрілки на обох кінцях. Смуги прокручування надсилає повідомлення про його батько вікно кожного разу, коли користувач клацає елемент. Вікна батьківського несе відповідальність за оновлення позиції бігунка, якщо це необхідно. Докладніше перегляньте статтю Смуги прокручування.
Прокручування панелі керування стилями таблиці стилів контроль Бар прокрутки, можна вказати в параметрі dwStyle , див.
СТАТИЧНИЙ Визначає простий текстове поле, поле або прямокутник, етикетки, поле або окремі інші елементи керування. Статичний елементи керування прийняти без вхідних і забезпечити не вихід. Докладніше перегляньте Статичні елементи керування.
Таблиці стилів статичні контроль, можна вказати в параметрі dwStyle див Статичні керування стилями.

Windows 95: Система може підтримувати максимум 16,364 вікно ручки.

Windows CE: Windows CE не підтримує самостійні рядків меню. HMenu параметр має бути NULL, якщо він використовується як ідентифікатор дочірнього вікна.

Windows CE версії 2.0 та пізніші версії підтримує наступні два стилі розширеного вікна:

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

Не підтримуються такі dwExStyle прапори.

WS_EX_ACCEPTFILES WS_EX_LEFTSCROLLBAR
WS_EX_LEFT WS_EX_MDICHILD
WS_EX_LTRREADING WS_EX_PALETTEWINDOW
WS_EX_NOPARENTNOTIFY WS_EX_RIGHTSCROLLBAR
WS_EX_RIGHT WS_EX_TOOLWINDOW
WS_EX_RTLREADING WS_EX_TRANSPARENT
WS_EX_APPWINDOW

Windows CE 1.0 не підтримує WS_EX_TOPMOST стилю. Версії 2.0 а потім робити.

Не підтримуються такі dwStyle прапори.

WS_CHILDWINDOW WS_ICONIC
WS_MAXIMIZE WS_MAXIMIZEBOX
WS_MINIMIZE WS_MINIMIZEBOX
WS_OVERLAPPEDWINDOW WS_POPUPWINDOW
WS_SIZEBOX WS_THICKFRAME
WS_TILED WS_TILEDWINDOW

Всі вікна неявно мають WS_CLIPSIBLINGS і WS_CLIPCHILDREN стилів.

Windows CE 1.0 підтримує не належить windows, за винятком діалогових вікон. Якщо параметра hwndParent не NULL, вікна неявно дається стиль WS_CHILD.

QuickInfo

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

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

Огляд Windows, вікна функції, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindow, GlobalAddAtom, RegisterClassEx, SetWindowPos, WM_CREATE, WM_NCCALCSIZE, WM_NCCREATE, WM_PAINT, WM_PARENTNOTIFY

Index