Операционная система Windows 95 для программиста



         

Создание органа управления Up-Down - часть 2


Вы можете сцепить окна органов управления двумя различными способами.

Во-первых, для органа управления Up-Down можно задать стиль окна UDS_AUTOBUDDY . При этом последний сцепляется с органом управления, расположенным под ним (с предыдущим по порядку в шаблоне диалоговой панели).

Во-вторых, вы можете сцепить органы управления, послав окну органа Up-Down сообщение UDM_SETBUDDY . Именно этот способ и используется функцией CreateUpDownControl.

При создании органа Up-Down вы должны указывать обычные стили окна, такие как WS_CHILD , WS_BORDER и WS_VISIBLE , а также дополнительные, определяющие поведение этого органа управления:

Стиль Описание
UDS_ALIGNLEFT Орган Up-Down будет выровнен по левой границе окна сцепленного с ним органа управления
UDS_ALIGNRIGHT То же, но по правой границе
UDS_SETBUDDYINT В заголовок окна органа управления, сцепленного с органом Up-Down, будет автоматически записываться текущее значение, установленное для органа Up-Down. Если же орган Up-Down сцеплен с органом Listbox, заголовок изменяться не будет. Вместо этого будет изменяться номер выделенного элемента списка
UDS_NOTHOUSANDS Используется вместе со стилем UDS_SETBUDDYINT. Указывает, что при отображении текущего значения не нужно разделять разряды тысяч десятичной точкой
UDS_ARROWKEYS Если указан этот стиль, для изменения текущего значения можно использовать клавиши перемещения курсора по вертикали
UDS_HORZ Размещение окна органа Up-Down по горизонтали
UDS_WRAP При достижении в процессе перебора значений верхней или нижней границы будет происходить переход, соответственно, к нижнему или верхнему значению. Таким образом, возможна организация циклического перебора возможных значений

Вот пример создания органа Up-Down, сцепленного с однострочным текстовым редактором hwndEdit, который расположен в диалоговой панели:

hwndUpDown = CreateUpDownControl ( WS_CHILD | WS_BORDER | WS_VISIBLE | UDS_WRAP | UDS_ARROWKEYS | UDS_ALIGNRIGHT | UDS_SETBUDDYINT, 0, 0, 0, 0, hdlg, IDC_UPDOWN, hInst, hwndEdit,10, 1, 1);

Обратите внимание, что мы не указали размеры и расположение окна органа Up-Down, так как при сцеплении они устанавливаются автоматически.




Содержание  Назад  Вперед