Комбінований список Combo Box

Комбінований список обєднує однорядковий текстовий редактор і список рядків, створюється на основі визначеного класу «Combobox»

Стиль комбінованого списку, який визначається в параметрі dwStyle функції CreateWindowEx, є комбінацією стилів з префіксом WS_ (WS_CHILD, WS_VISIBLE, WS_VSCROLL) і спеціалізованих стилів з префіксами CBS_, перерахованих нижче:

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

• CBSAUTOH SCROLL текст в полі редагування тексту автоматично прокручується вправо, коли користувач вводить з клавіатури символ в кінці рядка Якщо цей стиль не встановлений, приймається тільки текст, який розміщується всередині прямокутної межі поля

• CBSDISABLENOSCROLL у вікні зі списком вертикальна лінійка прокрутки заблокована, якщо поле вікна містить недостатньо елементів для прокрутки Без цього стилю лінійка прокрутки ховається, якщо вікно зі списком містить недостатньо елементів

• CBSDROPDOWN стиль подібний CBSSIMPLE, за винятком того, що вікно зі списком не відображається, поки користувач не вибере значок поруч з полем редагування тексту

• CBS_DROPDOWNLIST стиль подібний CBS_DROPDOWN,

за винятком того, що поле редагування тексту замінено статичним текстовим елементом, який відображає поточний вибір у вікні зі списком

• CBSHASSTRINGS репрезентована власником комбіноване вікно містить елементи, які складаються з рядків Комбіноване вікно підтримує память та адресу для рядків, так що прикладна програма може використовувати повідомлення CBGETLBTEXT, щоб відновити текст для окремого елемента

• CBSLOWERCASE перетворює в нижній регістр будь-які символи верхнього регістру, введені в поле редагування тексту комбінованого вікна

• CBSNOINTEGRALHEIGHT визначає, що розмір комбінованого вікна це точний розмір, визначений прикладної програмою, що створила комбіноване вікно Зазвичай Windows встановлює розміри комбінованого вікна так, щоб воно не відображало елементи частково

• CBSOEMCONVERT перетворює текст, введений в поле редагування тексту комбінованого вікна Текст перетвориться з набору символів Windows в набір символів OEM, а потім назад в набір Windows Це гарантує відповідне символьне перетворення, коли прикладна програма викликає функцію CharToOem, щоб перетворити рядок Windows в комбінованому вікні в символи OEM Цей стиль найбільш корисний для комбінованих вікон, які містять імена файлів і застосовуються тільки в комбінованих вікнах, створених зі стилем CBSSIMPLE або CBS_DROPDOWN

• CBSOWNERDRAWFIXED визначає, що власник вікна зі списком відповідальний за промальовування його змісту і що елементи у вікні зі списком всі рівної висоти Вікно власника приймає повідомлення WMMEASUREITEM, коли комбіноване вікно створене, а повідомлення WMDRAWITEM, коли зовнішній вигляд комбінованого вікна змінився

• CBSOWNERDRAWVARIABLE стиль аналогічний CBSOWNERDRAWFIXED за винятком того, що елементи у вікні зі списком є ​​змінними по висоті

• CBSSORT стиль дозволяє автоматично сортувати рядки, введені у вікно зі списком

• CBSUPPERCASE дозволяє перетворення символів, введених в поле редагування тексту комбінованого вікна, з нижнього регістра в верхній регістр

Обмін повідомленнями з елементом ComboBox схожий на обмін з

елементами ListBox і EditBox Повідомлення, що відправляються ComboBox,
мають префікс СВ_, а повідомлення для батьківського вікна, получае
мие від ComboBox, мають префікс CBN_ Прикладами повідомлень для
ComboBox є CBGETEDITSEL, CBSETEDITSEL,
CBADDSTRING,               CBGETCOUNT,               CBGETCURSEL,

CBGETLBTEXT Від елемента управління класу Combobox надходять наступні повідомлення:

• CBNCLOSEUP-список став невидимий

• CBNDBLCLK був подвійне клацання лівою клавішею миші по рядку списку, що має стиль CBSSIMPLE

• CBNDROPDOWN список став видимим

• CBNEDITCHANGE користувач змінив вміст вікна редагування, причому зміни вже відображені

• CBNEDITUPDATE користувач змінив вміст вікна редагування, зміни ще не відображені

• CBNERRSPACE помилка

• CBNKILLFOCUS список втратив фокус введення

• CBNSELENDCANCEL користувач скасував вибір в списку

• CBNSELENDOK користувач вибрав рядок у списку

• CBNSELCHANGE змінився номер обраної рядка

• CBNSETFOCUS список отримав фокус вводу

Джерело: Сучкова, ЛІ Win32 API: основи програмування: навчальний посібник / ЛІ Сучкова АлтГТУ ім ШІ Ползунова -Барнаул, АлтГТУ, 2010 138 с, іл

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*