- Артикул:00317373
- Автор: Крелль Б.Е.
- ISBN: 978-5-94074-481-8
- Тираж: 1000 экз.
- Обложка: Мягкая обложка
- Издательство: ДМК-Пресс (все книги издательства)
- Страниц: 352
- Вес: 881 г
Из этой книги вы узнаете, как можно создавать эффективные программы для КПК (карманных персональных компьютеров) на базе семейства операционных систем Windows Mobile. Вы найдете здесь библиотеки и инструменты, которые помогут заметно сократить время разработки проектов. На примере работающих программ продемонстрирована техника построения графических интерфейсов на маленьком экране Pocket PC. В издании рассмотрена архитектура Windows Mobile, работа с COM-объектами, проектирование многопоточных приложений и синхронизация, а также оптимизация и отладка программ и их компонентов.
Содержание
Благодарности
Предисловие
К обязательному прочтению!
На кого рассчитана эта книга?
Каковы особенности этой книги?
Что необходимо для чтения этой книги?
Какова роль примечаний?
На какой платформе тестировались программы?
Что можно сказать о включенных в книгу программах?
Как связаться с автором?
Глава 1. Обзор платформы Pocket PC
Основные элементы интерфейса пользователя
Архитектура Windows CE
Внутри подсистемы GWE
Обзор интерфейса графических устройств (GDI)
Логическая структура программы для Windows
Обработка сообщений в программе
Обновление клиентской области окна
Резюме
Глава 2. Типичная программа для Pocket PC
Уникальные особенности программ для Windows CE
Тип TCHAR - основа переносимого механизма обработки строк
Анатомия простой программы для Windows
Общая логическая структура программ для Windows
Типичная программа для Windows
Полный текст функции WinMain
Построчный анализ функции WinMain
Полный текст функции WinProc
Построчный анализ функции WinProc
Преобразование программы для исполнения на платформе Windows CE
Модификации функции WinMain
Обсуждение модификаций WinMain
Аннотированный исходный текст модифицированной функции WinMain
Модификация функции WinProc
Обсуждение модификаций WinProc
Аннотированный исходный текст модифицированной функции WinProc
Анализ проекта простой программы для Windows
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 3. Минимальная легко тестируемая программа для Pocket PC
Пользовательский интерфейс минимальной программы для Pocket PC
Проектирование минимальной программы для Pocket PC
Анализаторы сообщений
Работа с мастером Message Cracker Wizard
Реализация минимального диалога
Шаблоны диалогов и меню
Функция WinMain
Функция DlgProc
Тела обработчиков сообщений
Компонент PortabilityUtils
Компонент DataMgr
Сборка программы для настольного ПК
Перенос программы на КПК
Анализ проекта минимальной диалоговой программы
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 4. Обзор платформы Pocket PC
Графический интерфейс пользователя для простой программы анимации
Рисование изображений
Использование набора инструментов рисования
Имеющиеся стили пера и кисти
Операции рисования
Операции отсечения
Вывод изображения
Принудительная перерисовка окна приложения
Использование таймеров
Применение инкапсуляции в проекте приложения
Реализация простой анимационной программы
Анализ функции DlgProc
Анализ эффективности инкапсуляции
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 5. Реализация программы рисования
Рисование объектов с помощью эластичного контура
Добавление объявлений и тел обработчиков сообщений
Объявление статических переменных для поддержки буксировки
Реализация рисования в обработчиках сообщений
Модификация обработчика WM_PAINT для поддержки стирания и рисования
Ввод и эхо-вывод символов
Реализация функций, инкапсулирующих работу с текстом
Добавление переменных для хранения состояния и текстовой строки
Обработчик сообщения WM_POSITIONCARET
Добавление обработки сообщений о введенных символах
Реализация обработчика сообщения WM_KEYDOWN
Модификация обработчика сообщений WM_LBUTTONDOWN
Реализация обработчика сообщения WM_CHAR
Реализация обработчика сообщения WM_POSITIONCARET
Отображение строки в обработчике сообщения WM_PAINT
Критика подхода к проектированию и реализации
Резюме
Примеры программ в Web
Глава 6. Обработка растровых изображений
Реализация программы обработки изображений
Описание пользовательского интерфейса программы
Анализ организации программы
Реализация программы обработки изображений
Разработка заставки с помощью функций из файла BitmapUtilities
Описание пользовательского интерфейса программы
Описание внутренней работы программы
Реализация программы вывода заставки
Анимация изображения
Описание пользовательского интерфейса программы
Реализация программы анимации изображения
Подготовка ActiveSync для программ из этой главы
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 7. Проектирование эффективных программ
Обоснование выбранного подхода к проектированию
Окончательное разбиение на уровни
Процесс реализации
Анализ кода
Реализация менеджера типов данных DrawObjMgr
Реализация менеджера объектов DefaultMgr
Добавление переменных и методов доступа в компонент DataMgr
Добавление компонента CaretMgr
Реализация компонента UserInputMgr для обработки сообщений
Модификация обработчиков в DlgProc для взаимодействия с UserInputMgr
Расширение главного меню
Модификация обработчика сообщения WM_COMMAND с учетом пунктов меню
Добавление обработчика WM_INITMENUPOPUP для индикации выбранной фигуры
Замечания по поводу проекта и реализации
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 8. Применение встроенных элементов управления в графическом интерфейсе пользователя
Применение встроенных элементов управления в приложении
Обзор встроенных элементов управления
Реализация интерфейса со встроенными элементами управления
К вопросу о переносимости
Использование групп элементов управления для реализации дружелюбного интерфейса
Применение полосы прокрутки в паре с полем ввода
Включение дружелюбной полосы прокрутки
Контроль прямого ввода в парное поле
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 9. Разработка сложного интерфейса пользователя
Программа рисования со сложным интерфейсом пользователя
Применение графических кнопок для организации иерархий
Шаги, необхимые для включения в программу графических кнопок
Пример добавления графических кнопок
Обзор реализации BitmapButtonMgr
Применение вкладок для организации категорий
Шаги, необходимые для работы с компонентом
TabPageMgr и шаблонами вкладок
Пример включения компонента TabPageMgr
Обзор реализации шаблонов страниц со вкладками
Заключительные замечания для разработчиков
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 10. Сохранение параметров приложения
Применение идеи многоуровневого дизайна к решению задачи о хранении параметров
Выбор формата хранения
Настройка менеджера базы данных параметров
Пример настройки менеджера базы данных параметров
Определение структуры записи в базе данных параметров
Определение записей по умолчанию для каждого параметра
Использование функций для взаимодействия с базой данных параметров
Обзор реализации уровней
Конфигурирование нижнего уровня для конкретного хранилища
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 11. Многопоточные приложения и синхронизация
Разумное и неразумное применение потоков
Состояния потока
Планирование потоков
Управление приоритетами
Демонстрация влияния приоритетов
Введение в проблему синхронизации
Решение проблемы синхронизации
Некоторые детали проектирования
Реализация синхронизованных потоков
Создание потоков
Реализация потока WinMain
Реализация дочернего потока
Создание объектов синхронизации
Ожидание завершения шага
Отправка сигнала о завершении шага
Ожидание завершения дочерних потоков
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Глава 12. Использование COM-объектов
Модель компонентных объектов
Создание COM-объектов с помощью библиотеки ATL
Создание COM-объекта с помощью мастера ATL COM
AppWizard
Вставка нового объекта с помощью мастера
ATL Object Wizard
Добавление методов объекта с помощью мастера
Add Method to Interface Wizard
Реализация методов объекта
Анализ COM-объекта, созданного с помощью ATL
Объявление класса
Определение класса
Глобальные функции и объекты
Файл описания интерфейса
Сценарий реестра
Создание COM-клиента
Получение информации об интерфейсе COM-объекта
Программирование доступа к COM-объекту через интерфейс
Уничтожение объекта
Регистрация COM-сервера на Pocket PC
Резюме
Примеры программ в Web
Инструкции по сборке и запуску
Предметный указатель
Артикул 00-01020451