Владимир Волков - Программирование для карманных компьютеров
- Название:Программирование для карманных компьютеров
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Владимир Волков - Программирование для карманных компьютеров краткое содержание
Эта книга предназначена для того, чтобы читатель смог быстро научиться создавать мощные и эффективные приложения для наладонных компьютеров Pocket PC. Рынок программ для карманных компьютеров сейчас бурно развивается, и именно в этой отрасли программист-одиночка может успешно соперничать с большими корпорациями, которые создают программное обеспечение. Прочитав эту книгу, читатель сможет уверенно и быстро разрабатывать достаточно сложные приложения для Pocket PC. Огромное количество разнообразных примеров позволит быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.
Программирование для карманных компьютеров - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
? Значение WS_EX_TRANSPARENT создает окно, которое является прозрачным для элементов, которые расположены под ним.
? Значение WS_EX_WINDOWEDGE создает окно с выпуклой рамкой.
Легко заметить, что при помощи функций CreateWindow и CreateWindowEx создаются не только кнопки, но и другие элементы управления, в том числе и окна. Стили стоит применять аккуратно. Так, совмещение стилей BS_PUSHBUTTON и WSJHSCROLL создаст кнопку с полосой прокрутки внутри, но кому же она будет нужна?
Стили элементов Window ControlКаждый элемент семейства Window Control, кроме типа, устанавливаемого параметром lpClassName, при помощи нескольких констант позволяет определять стили, свойственные конкретному типу элементов. Эти константы нужно указывать в свойстве dwStyle, совмещая их с оконными стилями.
BUTTONТип BUTTON имеет больше всего стилей, потому что с его помощью реализуются кнопки, радиокнопки и флажки. В следующем списке приведен набор стилей для кнопок.
? Стиль 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 тоже осуществляет переход на новую строку.ВНИМАНИЕ! Включение и выключение режимов прокрутки не означает автоматическое появление полос прокрутки в редакторе. Чтобы полосы прокрутки появились в редакторе, в него надо поместить соответствующее окно типа SCROLLBAR и управлять им, ориентируясь на события, описанные выше.
? Стиль ES_NOHIDESEL заставляет поле ввода оставлять цветовую пометку выделенного текста, когда элемент потерял фокус.
? Стиль ES_NUMBER указывает, что редактор принимает при вводе только цифры.
? Стиль ES_0EMC0NVERT указывает, что редактор автоматически преобразует вводимый текст из набора символов Windows CE в OEM и обратно. Это нужно, когда в окно редактора вводятся имена файлов.
? Стиль ES_PASSWORD указывает, что вместо вводимого пользователем текста отображаются звездочки.
Читать дальшеИнтервал:
Закладка: