WS_GROUP стилю

За промовчанням система рухається фокус вводу до наступного або попереднього елемента керування кожного разу, коли користувач натискає клавішу напрямку. Поки поточний контроль з фокус вводу не обробляти ці ключі і наступного або попереднього елемента керування не статичні контроль, система продовжує перемістити фокус вводу через всі елементи керування в діалоговому вікні, як користувач продовжує клавіші напрямку.

Застосунок за допомогою WS_GROUP стиль можна змінити цю поведінку за замовчуванням. Стиль знаменує початок групи елементів керування. Якщо елемент керування у групі має фокус вводу, коли користувач починає натискання клавіш напрямку, фокус залишається в групі. Загалом, перший елемент керування у групі повинен мати WS_GROUP стиль і має всі інші елементи керування у групі не мають цього стилю. Всі елементи керування в групі, повинні бути суміжними —, вони повинні були створені послідовно з ні наступні елементи керування.

Коли користувач натискає клавішу, напрямок, система спочатку визначає, чи поточний контроль, маючи фокус вводу обробляє клавіші напрямку. Система WM_GETDLGCODE повідомлення надсилається до елемента керування і якщо елемент керування повертає значення DLGC_WANTARROWS, проходить ключ до елемента керування. В іншому випадку, система функція GetNextDlgGroupItem , щоб визначити наступного елемента керування у групі.

GetNextDlgGroupItem пошук елементів керування в порядку (або зворотному порядку), вони були створені. Якщо користувач натискає права або клавіші, GetNextDlgGroupItem повертає наступного елемента керування, якщо цей елемент керування не не мають WS_GROUP стилю. В іншому випадку функція змінює порядок пошуку і повертає перший елемент керування, який має WS_GROUP стиль. Якщо користувач натискає ліворуч або клавіша збільшення, функція повертає попереднього елемента керування, якщо поточний контроль вже має WS_GROUP стилю. Якщо поточний контроль є цей стиль, функція змінює порядок пошуку, знаходить першого елемента керування мають WS_GROUP стиль і повертає елемент керування, який містився безпосередньо перед розташовані контролю.

Коли система має наступного або попереднього елемента керування, він посилає повідомлення WM_GETDLGCODE до елемента керування, щоб визначити тип елемента керування. Система потім рухається фокус вводу до елемента керування, якщо це не статичний елемент керування. Якщо елемент керування автоматичного радіо-кнопки, система надішле повідомлення BM_CLICK до нього. Програми можна також використовувати GetNextDlgGroupItem , щоб знайти елементи керування у групі.

Як правило, перший елемент керування у групі поєднує стилі WS_GROUP і WS_TABSTOP, так що користувач може рухатися з групи до групи за допомогою клавіші tab. Якщо група містить перемикачі, додаток слід застосувати стиль WS_TABSTOP лише до першого елемента керування у групі. Система автоматично переміщується стиль, коли на між елементами керування у групі. Це гарантує, що фокус вводу завжди буде останнього виділеного елемента керування, коли користувач переходить до групи за допомогою клавіші tab.

Index