Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Программирование для карманных компьютеров - Владимир Волков

Программирование для карманных компьютеров - Владимир Волков

Читать онлайн Программирование для карманных компьютеров - Владимир Волков

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 46 47 48 49 50 51 52 53 54 ... 102
Перейти на страницу:

? Стиль BS_B0TT0M выравнивает текст по нижнему краю кнопки.

? Стиль BS_CENTER выравнивает текст по горизонтальному центру кнопки.

? Стиль BS_DEFPUSHBUTTON определяет кнопку, как используемую по умолчанию на диалоговой форме. Когда пользователь нажимает клавишу ENTER, кнопка срабатывает, даже если она не имеет фокуса ввода.

? Стиль BSJ-EFT выравнивает текст по левому краю кнопки.

? Стиль BS_N0TIFY определяет кнопку которая посылает в родительское окно сообщения BNKILLFOCUS и BNSETFOCUS. Также генерируется сообщение BNCLICKED.

? Стиль BS_OWNERDRAW создает кнопку, поверхность которой перерисовывается программным путем. Родительское окно получает от кнопки сообщение WM_ MEASUREITEM при создании кнопки и сообщение WM_DRAWITEM при перерисовке.

? Стиль BS_PUSHBUTTON создает кнопку, которая герерирует сообщение WMCOMMAND при нажатии на нее.

? Стиль BS_RIGHT выравнивает текст по правому краю кнопки.

? Стиль BS_T0P выравнивает текст по верхней стороне кнопки.

? Стиль BS_VCENTER вертикально центрует текст на кнопке.

В следующем списке рассматриваются стили для создаваемых флажков.

? Стиль BS_3STATE создает флажок, состояние которого не может быть изменено пользователем. Подобный флажок используется для индикации состояний.

? Стиль BS_AUT03STATE создает флажок с тремя состояниями. Он может быть включен, выключен или недоступен. Состояния меняются при каждом щелчке мышью.

? Стиль BS_AUTOCHECKBOX создает флажок, в котором каждый щелчок взводит или сбрасывает его.

? Стиль BS_CHECKBOX создает пустой флажок, который не взводится при щелчке.

? Стиль BSJ-EFT отвечает за выравнивание текста по левому краю.

? Стиль BS_PUSHLIKE создает флажок, который нажимается как обыкновенная кнопка.

? Стиль BS_RIGHT отвечает за выравнивание текста по правому краю.

? Стиль BS_RIGHTBUTTON располагает флажок справа от поясняющей надписи.

Набор стилей для радиокнопок приведен в заключительном списке раздела.

? Стиль BSAUTORAD10BUTT0N создает радиокнопку, которая при выборе ее пользователем сбрасывает флаг у другой кнопки в этой же группе.

? Стиль BSJ-EFT отвечает за выравнивание текста в левую сторону.

? Стиль BS_RADI0BUTT0N создает пустую радиокнопку.

? Стиль BS_RIGHT отвечает за выравнивание текста в правую сторону.

? Стиль BS_RIGHTBUTTON создает радиокнопку, которая располагается справа от поясняющего текста.

Упражнение 4.3 (продолжение)

6. Чтобы получить представление о том, какое большое влияние может оказывать сочетание стилей даже на такие простые элементы, как кнопки, нужно немного изменить код проекта. Нужно переписать последний вызов функции CreateWindowEx следующим образом:

CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, TEXT (В«BUTTONВ»), TEXT (В«ButtonВ»), BS_GROUPBOXВ | WS_VISIBLE | WS_CHILD, 2, 2, 235, 262, hWnd, (HMENU)213, g_hInst, NULL);

Если теперь запустить проект, то вместо кнопки будет отображен компонент, предназначенный для визуального выделения группы элементов. 7. Теперь следует изменить код этой же функции еще раз, добавив в нее еще один стиль, как показано ниже:

CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, TEXT (В«BUTTONВ»), TEXT (В«ButtonВ»), BS_GROUPBOXВ |

WS_VISIBLE | WS_CHILD | WS_OVERLAPPED, 2, 2, 235, 262, hWnd, (HMENU)213, g_hInst,

NULL);

После запуска проекта на заднем плане будет размещено полноценное окно с заголовком, которое можно перемещать по экрану. Этот пример хорошо демонстрирует, что стиль BS_GR0UPB0X сам по себе не делает это окно контейнером компонентов, которые геометрически размещены внутри его границ. EDIT

Для создания поля ввода используется достаточно большой набор стилей, которые приведены в следующем списке.

? Стиль ES_AUT0HSCR0LL позволяет автоматически прокручивать текст вправо на десять символов после того, как пользователь дошел до конца строки. После нажатия клавиши ENTER текстовый курсор возвращается в начальную позицию.

? Стиль ES_AUT0VSCR0LL определяет прокручивание текста вниз на одну страницу, когда пользователь на последней строке текста нажимает клавишу ENTER.

? Стиль ES_CENTER задает выравнивание текста по центру для многострочного поля ввода.

? Стиль ESJ.EFT задает выравнивание влево.

? Стиль ES_LOWERCASE указывает, что все вводимые символы будут переводиться в нижний регистр.

? Стиль ES_MULTILINE создает многострочный текстовый редактор. По умолчанию элемент EDIT является однострочным полем ввода. Когда многострочный редактор находится в диалоговом окне, окно перехватывает нажатие клавиши ENTER, и для того чтобы компонент EDIT принимал это событие первым, надо использовать стиль ES_WANTRETURN. Когда многострочный редактор располагается не в диалоговом окне и для него задан стиль ES_AUTOVSCROLL, то редактор показывает максимально возможное количество строк, а прокручивать текст будет только при необходимости. Если стиль ES_AUTOVSCROLL не задан, то по достижении последней строки звучит предупредительный звуковой сигнал, а прокрутки не происходит. Когда задан стиль ES_AUTOHSCROLL, многострочный редактор включает горизонтальное прокручивание при достижении правого края. При выключенном стиле ES_AUTOHSCROLL при достижении правой границы происходит автоматический перенос на следующую строку по границе ближнего слова. Клавиша ENTER тоже осуществляет переход на новую строку.
1 ... 46 47 48 49 50 51 52 53 54 ... 102
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Программирование для карманных компьютеров - Владимир Волков.
Комментарии