Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Створення вікон






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

HWND CreateWindow(

LPCTSTR lpClassName, //ім’я зареєстрованого класу

LPCTSTR lpWindowName, //ім’я вікна

DWORD dwStyle, //стиль вікна

int x, //координата лівого краю вікна

int y, //координата верхнього краю вікна

int nWidth, //ширина вікна

int nHeight, //висота вікна

HWND hWndParrent, //дескриптор вікна-батька або вікна-власника

HMENU hMenu, //дескриптор меню або ідентифікатор

//створюваного дочірнього вікна

HANDLE hInstance, //дескриптор додатку

LPVOID lpParam //вказівник на дані вікна);

Перед створенням вікна функція CreateWindow надсилає код повідомлення WM_CREATE функції створюваного вікна. Вона потім обробляє значення, що повертається функцією вікна, або не створює вікна, якщо воно дорівнює –1. Відповідно функція CreateWindow повертає дескриптор вікна або NULL.

Стиль вікна задає зовнішню поведінку вікна. Для опису стиля вікна використовують символічні константи з префіксом WS_ (табл. 1.2).

Таблиця 1.2. Список значень стилів вікон

Значення Пояснення
   
WS_BORDER Вікно з тонкою рамкою
WS_CAPTION Вікно із заголовком (включає стиль WS_BORDER)
WS_CHILD або WS_CHILDWINDOW Дочірнє вікно. Воно не може мати меню. Несумісний з WS_POPUP
WS_CLIPCHILDREN Вікно не перемальовує ті області, які затінені власними дочірніми вікнами
WS_CLIPSIBLINGS Дочірнє вікно не перемальовує ті області, які затінені іншими дочірніми вікнами того ж батька
WS_DISABLED Створити заблоковане вікно
WS_DLGFRAME Вікно з подвійною рамкою без заголовка
WS_HSCROLL Вікно з горизонтальною смугою перегляду
WS_ICONIC або WS_MINIMIZE Початково згорнуте в піктограму вікно
WS_GROUP Визначає перший елемент групи органів управління, яка складається з цього елемента та слідуючих за ним елементів до елемента зі стилем WS_GROUP. Перші елементи груп мають стиль WS_TABSTOP, щоб користувач міг пересуватись між групами натисканням клавіш Tab. Всередині групи від елемента до елемента переходять за допомогою стрілок
WS_MAXIMIZE Вікно максимально можливого розміру
WS_MAXIMIZEBOX Вікно з кнопкою відновлення/максимізації розміру. Використовують з WS_OVERLAPPED і WS_CAPTION  
WS_POPUP Тимчасове вікно
   
WS_MINIMIZEBOX Вікно з кнопкою згортання вікна в піктограму. Використовують зі стилями WS_OVERLAPPED і WS_CAPTION
WS_OVERLAPPED або WS_TILED Вікно з заголовком і рамкою, що перекривається
WS_OVERLAPPEDWINDOW або WS_TILEDWINDOW Вікно стилів WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOX
WS_POPUPWINDOW Вікно стиля WS_POPUP, WS_BORDER, WS_SYSMENU. Для відображення системного меню додають WS_CAPTION
WS_SIZEBOX або WS_THICKFRAME Вікно з товстою рамкою для зміни розмірів вікна
WS_SYSMENU Вікно з системним меню. Об’єднують з WS_CAPTION
WS_TABSTOP Елемент управління, який одержує фокус введення при натисканні клавіші Tab
WS_VISIBLE Вікно стає видимим одразу після створення
WS_VSCROLL Вікно з вертикальною смугою перегляду

 

За сукупністю властивостей розрізняють вікна, що перекриваються (оverlapped), тимчасові (pop-up) та дочірні (сhild) вікна.

Вікна, що перекриваються, найчастіше використовують в якості вікна додатки. Вони завжди мають заголовок (title bar), рамку і робочу область вікна (client region), можуть мати системне меню, кнопки відновлення розмірів, закриття і згортання вікна в пікторгамму, горизонтальну та вертикальну смуги перегляду (scroll bar), меню, панель інстурментів (tool bar) і рядок стану (status bar). Базовий стиль таких вікон описаний константою WS_OVERLAPPED. Частіше використовуваний стиль вікон WS_OVERLAPPEDWINDOW на додаток до базового вказує, що вікно має системне меню, кнопки відновлення розмірів, закриття і згортання вікна. Вікно, що перекривається, може належати вікну-власнику. Якщо вікно-власник згортається, то підлеглі йому вікна стають невидимими. При знищенні вікна автоматично знищуються підлеглі йому вікна. Підлеглі вікна завжди розташовуються над поверхнею вікна-власника, відгорожуючи його.

Тимчасові вікна звичайно використовують для виведення повідомлень користувачу і залишаються на екрані нетривалий час. Базовий стиль тимчасового вікна описаний константою WS_POPUP. Таке вікно за замовчуванням не має заголовка. Частіше тимчасове вікно описують константою WS_POPUPWINDOW. Для додавання до тимчасового вікна системного меню і заголовка стиль WS_POPUPWINDOW комбінують зі стилем WS_CAPTION. В усьому останньому тимчасові вікна – це спеціальний вид вікон, що перекриваються.

Дочірні вікна використовують для створення органів управління. Визначені системою класи органів управління (кнопки, смуги перегляду і т.п.) представляють собою дочірні вікна. Базовий стиль дочірніх вікон описаний константою WS_CHILD. Цей стиль повністю співпадає зі стилем WS_CHILDWINDOW. Дочірні вікна не мають кнопок зміни розміру, але завжди мають вікно-батько. Вони прилипають до поверхні бітька, пересуваються з ним і не виходять за його межі.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал