- •Національний університет «Львівська політехніка» іепт ім. В’ячеслава Чорновола
- •Курсовий проект
- •1. Формулювання задачі
- •2. Методи та засоби розв’язання задачі
- •2.1 Клас вікон
- •2.2 Створення|створіння| вікон
- •2.3 Головна|чільна| функція додатка |застосування|
- •2.4 Полоса прокрутки
- •2.5 Створення|створіння| смуги прокрутки
- •2.6 Повідомлення|сполучення| від смуги прокрутки
- •2.7 Керування смугою прокрутки
- •2.8 Створення|створіння| списку
- •2.10 Функції виведення тексту
- •2.11 Меню
- •2.12 Створення|створіння| меню
- •2.13 Вставка елементів в меню
- •2.14 Видалення|віддалення| елементів з|із| меню
- •2.15 Акселератори
- •3. Алгоритм розв'язування задачі
- •4.1 Призначення програми
- •Мови програмування, на яких написана програма
- •Програмні засоби, необхідні для реалізації програми
- •Технічні засоби, необхідні для реалізації програми
- •5. Інструкція користувачеві
- •5.1 Головне вікно програми
- •Контрольний приклад та аналіз результатів комп'ютерної реалізації програми
- •Список використаної література
- •Додатки Додаток 1. Код TextEdit.Cpp
- •Додаток 2. Код MainFrm.Cpp
- •Додаток 3. Код MainFrm.H
- •Додаток 4. Код TextEdit.H
- •Додаток 5 Код TextEdit.Rc
2.6 Повідомлення|сполучення| від смуги прокрутки
Горизонтальні смуги прокрутки функції батьківського вікна посилають |повідомлення|сполучення| WM_HSCROLL|, а вертикальні - повідомлення|сполучення| WM_VSCROLL|. При цьому молодше слово параметра wParam| містить|утримує| код досконалої|довершеної| дії, старше слово - поточну позицію повзунка|, а lParam| вказує|вказує| на дескриптор смуги прокрутки.
Наступна|слідуюча| таблиця перераховує імена код дій і пояснення до них:
-
Код дії
Пояснення дії
SB_ENDSCROLL
Віджата клавіша миші (кінець роботи із смугою прокрутки)
SB__LINELEFT
Зрушення вікна уздовж документа вліво (вгору) на одиницю
SB_LINERIGHT
Зрушення вікна уздовж документа управо (вниз) на одиницю
SB_PAGELEFT
Зрушення вікна уздовж документа вліво (вгору) на сторінку
SB_PAGERIGHT
Зрушення вікна уздовж документа управо (вниз) на сторінку
SBTHUMBPOSITION
Повзунок зупинився після плавного руху. Поточна позиція повзунка равна HIWORD(wParam)
SB_THUMBTRACK
Повзунок плавно рухається. Поточна позиція повзунка рівна HIWORD(wParam)
SB_TOP
Зрушення вліво (вгору) в початок документа
SB_BOTTOM
Зрушення управо (вниз) в кінець документа
2.7 Керування смугою прокрутки
Позиція nPos| повзунка може набувати значень із|із| заданого діапазона| [nMin|, nMax|]. Найлівіша для горизонтальної смуги або сама верхня для вертикальної смуги позиції повзунка відповідають мінімальному| значенню nMin|. Відповідно в найправішому або самому нижньому положенні|становищі| значення позиції рівне nMax|.
Функції управління станом|достатком| смуг прокрутки не викликають|спричиняють| для смуг, створених третім способом. Якщо смуга прокрутки створена першим способом, то при виклику цих функцій першим аргументом вказують| дескриптор смуги. Інакше першим аргументом указують|вказують| дескриптор| вікна, якому належить смуга перегляду|проглядати|. Другими аргументом| завжди указують|вказують| вид смуги. Допустимі значення для другого аргументу перераховані в наступній|слідуючій| таблиці:
-
Значення
Вид смуги
SB_CTL
Смуга прокрутки. Першим аргументом є дескриптор смуги прокрутки
SB HORZ
Стандартна горизонтальна смуга проглядання вікна
SB_VERT
Стандартна вертикальна смуга проглядання вікна
Для встановки діапазону смуги прокрутки викликають|спричиняють| функцію SetScroIlRange|: BOOL| SetScrollRange|( HWND| hwnd|, int| nBar|, int| nMin|, int| nMax|, BOOL| bRedraw|);
Вона встановлює мінімальне і максимальне значення позиції повзунка заданої смуги прокрутки. В разі|у разі| успішної установки повернуте значення відмінне від нуля|нуль-індикатора|.
При nMin=nMax| смуга зникає. Такій ситуації потрібно уникати при управлінні станом|достатком| смуг прокрутки. Аргумент bRedraw|, якщо не дорівнює нулю|нуль-індикатору|, вказує|вказує| на необхідність перемальовування смуги.
