На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

The WS_GROUP Style



By default, Windows moves the input focus to the next or previous control whenever the user presses a direction key. As long as the current control with the input focus does not process these keys and the next or previous control is not a static control, Windows continues to move the input focus through all controls in the dialog box as the user continues to press the direction keys.

An application can use the WS_GROUP style to modify this default behavior. The style marks the beginning of a group of controls. If a control in the group has the input focus when the user begins pressing direction keys, the focus remains in the group. In general, the first control in a group must have the WS_GROUP style and all other controls in the group must not have this style. All controls in the group must be contiguous ѕ that is, they must have been created consecutively with no intervening controls.

When the user presses a direction key, Windows first determines whether the current control having the input focus processes the direction keys. Windows sends a WM_GETDLGCODE message to the control and if the control returns the DLGC_WANTARROWS value, passes the key to the control. Otherwise, Windows uses the GetNextDlgGroupItem function to determine the next control in the group.
GetNextDlgGroupItem searches controls in the order (or reverse order) they were created. If the user presses the RIGHT or DOWN key, GetNextDlgGroupItem returns the next control if that control does not have WS_GROUP style. Otherwise, the function reverses the order of the search and returns the first control that has the WS_GROUP style. If the user presses the LEFT or UP key, the function returns the previous control unless the current control already has the WS_GROUP style. If the current control has this style, the function reverses the order of the search, locates the first control having the WS_GROUP style, and returns the control that immediately precedes the located control.

Once Windows has the next or previous control, it sends a WM_GETDLGCODE message to the control to determine the control type. Windows then moves the input focus to control if it is not a static control. If the control is an automatic radio button, Windows sends a BM_CLICK message to it. An application can also use GetNextDlgGroupItem to locate controls in a group.
Generally, the first control in the group combines the WS_GROUP and WS_TABSTOP styles so that the user can move from group to group by using the TAB key. If the group contains radio buttons, the application should apply the WS_TABSTOP style only to the first control in the group. Windows automatically moves the style when the user moves between controls in the group. This ensures that the input focus will always be on the most recently selected control when the user moves to the group using the TAB key.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Стиль WS_GROUP



По умолчанию, Окно перемещает входной фокус на следующее или предшествующее управление всякий раз, когда потребитель нажимает ключ направления. Так же долго (длиной) как текущее управление с входным фокусом не обрабатывает эти ключи и следующее или предшествующее управление не является статическим управлением, Окно остается перемещать входной фокус через все элементы управления в диалоговом ящике как потребитель остается нажимать ключи направления.

Приложение может использовать стиль WS_GROUP, чтобы модифицировать это встроенное поведение. Стиль выделяет начало группы элементов управления. Если управление в группе имеет входной фокус когда потребитель начинает нажимать ключи направления, фокус остается в группе. В общих чертах, первое управление в группе должно иметь стиль WS_GROUP и все другие элементы управления в группе не должно иметь этот стиль. Все элементы управления в группе должны быть непрерывными U то есть, они по-видимому создаются последовательно без вмешивающихся элементов управления.

Когда потребитель нажимает ключ направления, Окно сначала определяет независимо текущее управление, имеющее входные процессы фокуса ключи направления. Окно посылает сообщение WM_GETDLGCODE на управление и если управление возвращает величину DLGC_WANTARROWS, передает ключ на управление. В противном случае, Окно использует функцию GetNextDlgGroupItem, чтобы определять следующее управление в группе.
GetNextDlgGroupItem ИЩЕТ элементы управления в порядке (или обратный порядок) они были созданы. Если потребитель нажимает ПРАВО или ВНИЗ ключ, GetNextDlgGroupItem возвращает следующее управление если это управление нет имеет стиль WS_GROUP. В противном случае, функция возобновляет порядок поиска и возвращает первое управление, которое имеет стиль WS_GROUP. Если потребитель нажимает ЛЕВЫЙ или ПО ключе, функция возвращает предшествующее управление если текущее управление уже не имеет стиль WS_GROUP. Если текущее управление имеет этот стиль, функция возобновляет порядок поиска, располагает первое управление, имеющее стиль WS_GROUP и возвращает управление, которое немедленно предшествует расположенному управлению.

Как только Окно имеет следующее или предшествующее управление, оно посылает сообщение WM_GETDLGCODE на управление, чтобы определять управляющий тип. Окно затем перемещает входной фокус, чтобы управлять если оно - не статическое управление. Если управление является автоматической радио кнопкой, Окно посылает сообщение BM_CLICK этому. Приложение может также использовать GetNextDlgGroupItem, чтобы располагать элементы управления в группе.
Обычно, первое управление в группе объединяет WS_GROUP и стили WS_TABSTOP чтобы потребитель может переместиться из группы, чтобы группировать используя ключ ТАБ.. Если группа содержит радио кнопки, приложение должно приложить стиль WS_TABSTOP только к первому управлению в группе. Окно автоматически перемещает стиль когда потребитель перемещается между элементами управления в группе. Это проверяет, что входной фокус всегда будет находиться на совсем недавно выбранном управлении когда потребитель перемещает на группу, использовавшую ключ ТАБ..


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz