Функція CreateWindow створює перекриваються, виринаюче вікно або дитини вікно. Це визначає клас вікна, заголовок вікна, стиль вікна та (опціонально) початкове положення і розмір вікна. Функція також визначає вікна батьків або власника, якщо будь-який і меню вікна.
Щоб використовувати розширені стилі, на додаток до стилів, що підтримується CreateWindow, функція CreateWindowEx замість того, щоб за допомогою CreateWindow.
(HWND CreateWindow LPCTSTR lpClassName, / / ім'я класу, зареєстрованих: вказівник наLPCTSTRlpWindowName, / / вказівник на ім'я вікнаDWORDdwStyle, / / стиль вікнаInt x, / / горизонтальна позиція вікна int y, / / вертикальна позиція вікна intnWidth, / / ширина вікна intnHeight, / / висоту вікнаHWNDhWndParent, / / ручка для батьків або власник вікноHMENUhMenu, / / ручка для меню або дочірнього вікна ідентифікаторРучкаhInstance, / / ручка екземпляр програмиLPVOIDlpParam / / вказівник для створення вікна даних);
Якщо lpClassName є рядок, вказує ім'я класу вікна. Ім'я класу можуть бути будь-яким зареєстрований з RegisterClassEx функції, або будь-який стандартний елемент керування клас імен. Для отримання повного списку див. розділ зауваження.
Якщо вікно стиль визначає рядок заголовка, заголовок вікна, вказав на lpWindowName відображається в рядку заголовка. Під час створення елементів керування, наприклад, кнопки, прапорці та статичні елементи керування, за допомогою CreateWindow використовувати lpWindowName , щоб визначити текст елемента керування.
Стиль | Значення |
---|---|
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 | Створює вікно, яке має вертикальної смуги. |
Якщо цей параметр має значення CW_USEDEFAULT, система вибирає для верхнього лівого кута вікна, розташування за замовчуванням і не враховує параметр y . CW_USEDEFAULT діє лише для перекриваються windows; Якщо він вказаний для виринаюче вікно або дитини вікні x та y параметрів налаштовані на нуль.
Якщо перекриваються вікно створюється з набором bit WS_VISIBLE стиль і CW_USEDEFAULT має значення параметра x , система ігнорує параметра y.
Windows NT 5.0 і більш пізніх: Створити повідомлення лише вікно, постачання HWND_MESSAGE або дескриптор наявному вікні повідомлення лише для читання.
Якщо функцію виконано успішно, значення, що повертається, є дескриптор нове вікно.
Якщо функцію не вдається, значення, що повертається, є 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 не підтримує рядків меню.
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