12. Двойным щелчком на каждом из элементов управления вызвать на экран окно настройки его параметров и установить требуемые значения для положения, стиля и поведения компонента.
13. Связать диалоговое окно с командой меню и обеспечить его создание так, как это сделано в шаблонном проекте. Следует обратить внимание на то, как обеспечивается создание диалогового окна (вызов функции DialogBox из обработчика сообщения команды меню IDM_HELP_ABOUT), организуется анализ очереди сообщений (функция LRESULT CALLBACK About) и как окно ликвидируется после использования (обработчик сообщения команды щелчка на кнопке OK диалогового окна, который находится в функции анализа очереди сообщений и вызывает функцию EndDialog). Все эти операции придется проделать с каждым создаваемым диалоговым окном.
14. Обеспечить обработку необходимых сообщений, посылаемых элементами управления, расположенными на диалоговом окне. Естественно, формат книги не позволяет подробно разобрать работу с каждым элементом управления, но это уже сделано в примерах, которые поставляются вместе с SDK. По умолчанию они располагаются в папке C: \Windows СЕ Tools\wce300\Pocket PC 2002\samples\win32.
Примеры, которые поставляются вместе с SDK, приведены в следующем списке.
? CalendarAndDTP – использование элементов управления Calendar и Date Time Picker.
? Cmdbar – использование элемента CommandBar и динамическое изменение кнопок на нем.
? ComCtls – посылка сообщений элементам управления, синхронизированная с «тиками» таймера.
? DirTree работа с компонентом Tree Control.
? Dynamenu – пример вывода и сокрытия пунктов меню во время работы приложения.
? HandleSIP – программное управление режимами и поведением виртуальной клавиатуры.
? Keytest2 – пример того, как перехватываются и обрабатываются сообщения от клавиатуры и стилуса.
? ListView и ListView2 – разные способы применения компонента ListView со значками и организация большого списка с горизонтальной прокруткой.
? ReBar – работа с компонентами ReBar и ToolBar.
? Toolbar – демонстрация работы с компонентом ToolBar.
? TrackStylus – отслеживание и обработка событий стилуса.
Отладка
Несмотря на то что, по логике вещей, любая программа должна быть сначала создана, а потом отлажена, на самом деле отладка проекта обычно происходит параллельно его созданию. Разработчик пишет часть кода, компилирует проект, устраняет ошибки, которые выявляет компилятор и сборщик, затем запускает проект на выполнение и пытается выполнить только что написанный код. Если все работает как положено, то ничего отлаживать не придется. Но бывает так, что при попытке выполнить написанный и скомпилированный код либо генерируется ошибка времени выполнения, либо код работает без ошибок, но делает совсем не то, что предполагалось. В этом случае без отладки не обойтись.
Процесс отладки сводится в основном к тому, чтобы в нужных местах программы расставить точки останова и, когда программа остановится, начать пошаговое выполнение. На каждом шаге необходимо отслеживать значения переменных, правильность выделения памяти, использования ресурсов, открытия файлов, взаимодействия программы с устройствами, а также соответствие логики передачи управления.
Компиляция и сборка для отладкиЧтобы можно было выполнять все необходимые для отладки операции и иметь доступ ко всем используемым в программе именам, программу надо скомпилировать в отладочном варианте. Для компиляции программы под отладку необходимо соответствующим образом настроить среду. Проще всего для этого установить необходимые параметры на панели инструментов WCE configuration, как показано на рис. 4.14.