CreateWindow

Функція CreateWindow створює перекриваються, виринаюче вікно або дитини вікно. Це визначає клас вікна, заголовок вікна, стиль вікна та (опціонально) початкове положення і розмір вікна. Функція також визначає вікна батьків або власника, якщо будь-який і меню вікна.

Щоб використовувати розширені стилі, на додаток до стилів, що підтримується CreateWindow, функція CreateWindowEx замість того, щоб за допомогою CreateWindow.

(HWND CreateWindow LPCTSTR  lpClassName, / / ім'я класу, зареєстрованих: вказівник наLPCTSTRlpWindowName, / / вказівник на ім'я вікнаDWORDdwStyle, / / стиль вікнаInt x, / / горизонтальна позиція вікна int y, / / вертикальна позиція вікна intnWidth, / / ширина вікна intnHeight, / / висоту вікнаHWNDhWndParent, / / ручка для батьків або власник вікноHMENUhMenu, / / ручка для меню або дочірнього вікна ідентифікаторРучкаhInstance, / / ручка екземпляр програмиLPVOIDlpParam / / вказівник для створення вікна даних);
 

Параметри

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 координати верхньому лівому кутку вікна по відношенню до верхній лівий кут області вікна батьківського клієнта.

Якщо цей параметр має значення 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.

Зауваження

Для повернення, CreateWindow надсилання WM_CREATE повідомлення вікно процедури. Для перекриваються, спливаючі вікна і дитина windows, CreateWindow надсилання повідомлень у WM_CREATE, WM_GETMINMAXINFOі WM_NCCREATE до вікна. LParam параметр WM_CREATE повідомлення містить вказівник на структуру CREATESTRUCT . Якщо вказаний стиль WS_VISIBLE, CreateWindow посилає вікна всіх повідомлень, які необхідні для активації та показати вікно.

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

Горгани попередньо керування можуть бути визначені в параметрі 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 вікно ручки.

Примітка  Якщо вказані 4. x версії Windows, під час зв'язування вашого застосування, його вікна не можуть мати підпис кнопки, якщо вони також мають меню вікна. Це не є обов'язковою вимогою, якщо ви вказуєте версію Windows 3. x, під час зв'язування вашого застосування.

Windows CE: CreateWindow здійснюється як макрос. Це визначено як CreateWindowEx, але з dwExStyle параметр значення 0 L.

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

MDICLIENT клас вікна не підтримується.

DwStyle параметр може бути поєднання стилів, вікна та керування стилями задокументовані в:

Діалогові вікна

Windows

Елементи керування

Наступні позначки dwStyle не підтримуються для windows:

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

Наступні позначки dwStyle не підтримуються для елементів керування та діалогових вікнах:

Стилі кнопки не підтримується Непідтримуваний статичні керування стилями
BS_LEFTTEXT SS_BLACKFRAME
BS_MULTILINE SS_GRAYFRAME
BS_TEXT SS_METAPICT
BS_USERBUTTON SS_SIMPLE
Непідтримуваний комбо поле стилів SS_WHITERECT
CBS_OWNERDRAWFIXED SS_BLACKRECT
CBS_OWNERDRAWVARIABLE SS_GRAYRECT
CBS_SIMPLE SS_RIGHTIMAGE
Непідтримуваний списку вікні керування стилі SS_WHITEFRAME
LBS_NODATA Непідтримуваний діалоговому вікні стилі
LBS_OWNERDRAWFIXED DS_ABSALIGN
LBS_OWNERDRAWVARIABLE DS_CENTERMOUSE
LBS_STANDARD DS_CONTEXTHELP
Непідтримуваний прокручування панелі стилів DS_FIXEDSYS
SBS_BOTTOMALIGN DS_NOFAILCREATE
SBS_RIGHTALIGN DS_NOIDLEMSG
SBS_SIZEBOXBOTTOMRIGHTALIGN DS_SYSMODAL
SBS_SIZEGRIP

Ви можете використовувати BS_OWNERDRAW стилю замінює стиль BS_USERBUTTON.

Ви можете використовувати стиль SS_LEFT або SS_LEFTNOWORDWRAP замість того, щоб SS_SIMPLE стиль для статичного елементи керування..

MDICLIENT клас вікна не підтримується.

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

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

Windows CE Версія 1.0 не підтримує рядків меню.

QuickInfo

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

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

Огляд Windows, вікна функції, CLIENTCREATESTRUCT, CREATESTRUCT, CreateWindowEx, GlobalAddAtom, RegisterClassEx, WM_COMMAND, WM_CREATE, WM_GETMINMAXINFO, WM_NCCREATE, WM_PAINT

Index