обочу область вікна, і те, як вікна реагувати на користувальницький ввод.Созданіе вікна виконується функцією Win32 API CreateWindowEx. Для цього їй потрібно передати безліч параметрів. Для створення вікна необхідні 2 кроки: спочатку визначення класу вікна, а лише потім безпосередньо його створення. p> Після виконання функції CreateWindowExA створюється вікно, але це поки відбудеться тільки лише всередині самої Windows, - на екрані це нове вікно поки що не відобразиться. Для того щоб створене вікно з'явилося на екрані, застосовуємо функцію ShowWindowA. В якості параметрів цієї функції передається дескриптор hWnd вікна, яке необхідно відобразити на екрані, і константа, що задає початковий вигляд вікна.
Додаток може мати кілька віконних функцій. Їх кількість визначається кількістю класів вікон, зарегестрірованних в системі функцією Register Class (Ex).
Windows вимагає, щоб віконна функція зберігала значення регістрів ebi, edi і esi, тому що віконна функція повинна бути рекурсівной.По завершенні роботи віконна функція формує значення в регістрі EAX. Якщо повідомлення оброблялося в віконної функції, то в eax необхідно помістити нульове значення.
Смуги прокрутки - етоелементи управління, призначені для регулювання вертикального і горизонтального положення на екрані асоційованих з ними об'єктів. Різниця між смугами прокрутки, які є частиною вікна і смугами прокрутки - дочірніми вікнами, полягає в тому, що дочірні вікна мають вбудований клавіатурний інтерфейс, що дозволяє впливати на смугу прокрутки з допомогою клавіатури. Повідомлення SB_LINEUP генерується обома смугами при натисканні на верхній або лівою стрілкою, а повідомлення SB_LINEDOWN - у разі натискання нижньої або правою стрілки. Щоб смуга прокручування функціонувала коректно необхідно визначити для неї діапозон прокрутки і задати позицію бігунка. p> Вбудована смуга прокрутки, на жаль, дісталася тільки управлінню за допомогою курсору миші. Типово для смуг прокручування, які є частиною вікна, цей діапазон (число кроків мужду крайніми позиціями бігунка) визначений від 0 до 100. Для того, щоб змінити диапозон прокрутки необхідно викликати функцію SetScrollRange
У Windows не дивлячись на те, що операції введення здійснювані додатком, обмежені робочою областю його вікна, програма повинна бути готова оновити інформацію в цій області на вимогу системи.
У програмі використаний ряд функцій Windows API, які ніби є основними, коли мова йде про віконних процедурах (CreateWindow, ShowWindow та ін.)
Розглянемо докладніше процедури, які організовані на основі стилю вікна.
Короткий опис процедур:
InvalidateRect - ця функція додає прямокутник до області модифікації зазначених вікон. Область модифікації є частиною області клієнтського вікна, яка повинна бути повторно перересована. p> Параметри:
hWnd визначає вікно, чия область змінилася, якщо цей параметр дорівнює 0, то Windows змінює всі вікна і посилає вікон...