Дао Symbian Дмитрий «Dem@n» Тарасов Хакер, номер #096, стр. 096-130-2 После установки необходимого инструментария надо разобраться, что есть что в минимальном проекте. Запускай среду и выбирай New Symbian Project в папке Visuall C++ Project. Не забудь задать путь проекта в папке Epoc32. Далее в диалоговом окне выбирай SDK (если их в списке нет, то юзай кнопку Enable/Disable SDK) и указывай тип проекта Classic. Project Template – S60 EIKON Control-Based Application («Hello, World»). После этого жми Finish, и среда сгенерирует тебе кучу разных непонятных классов и файлов в папке проекта. Предлагаю пройтись по папкам, которые создала студия, и посмотреть, что в них лежит. - AIF – здесь по умолчанию хранится иконка приложения (в варианте для статусной панели программы и для меню смартфона). Обрати внимание, что, для того чтобы лого программки нормально смотрелось в меню, необходимо для каждой картинки создавать черно-белую маску, где черным будет закрашена видимая (показываемая) часть. Часть картинки, выкрашенная в белый цвет, не отобразится в меню программ, а ее место займет общий фон темы оформления, установленной на смартфоне. Советую подробнее посмотреть документацию по Bitmap и утилите AifTool. Кроме того, в этой папке еще имеется файл aif-ресурсов приложения, имеющий примерно такой вид: #include <aiftool.rh> RESOURCE AIF_DATA { app_uid=0x01ff9a56; //UID приложения num_icons=2; //количество иконок ... } - DATA – в этой директории хранятся файлы ресурсов приложения, являющиеся очень важной частью любой GUI-программы для Symbian. В ресурсах определяются строки, пункты и структура меню, внешний вид статусной панели приложения, структура списков и других контролов. Описание любого ресурса начинается с ключевого слова RESOURCE. К примеру, простейшее меню, вызываемое при нажатии левой функциональной кнопки, описывается следующим образом: RESOURCE MENU_PANE r_symbian3_menu { items = { MENU_ITEM { command = ESymbian3CmdAppTest; txt = qtn_appl_test; }, MENU_ITEM { command = EAknCmdExit; txt = qtn_appl_exit; } }; } MENU_ITEM соответствует каждому новому пункту меню. Здесь command – идентификатор команды, вызываемой при выборе соответствующего пункта меню, а txt – подпись пункта. Ресурс caption’а приложения вынесен в отдельный файл и имеет такой вид: RESOURCE CAPTION_DATA. { caption = qtn_app_caption_string; //Подпись приложения shortcaption = qtn_app_short_caption_string; //Короткая подпись приложения } - GROUP – здесь лежат файлы, необходимые для сборки проекта. Наибольший интерес представляет файл с расширением mmp. Это файл описания проекта, из которого линковщик берет все пути подключаемых библиотек, хедеров и т.д. Рекомендую ознакомиться со структурой MMP и почитать документацию. Хочу обратить внимание на следующий факт: часто при добавлении нового функционала в приложение необходимо использовать какой-либо класс, требующий подключения определенного хедера и библиотеки. Соответственно, эту библиотеку нужно прописывать в mmp-файл следующим образом: LIBRARY megalib.lib. При этом в VS наблюдается такой глюк: при сборке проекта, если она до этого уже производилась, иногда появляется сообщение об ошибке, в котором говорится о том, что требуемая библиотека не подключена, хотя это не так! В подобных случаях нужно делать ReBuild Solution. Если и это не помогает, можно попробовать реимпортировать свой проект. То же самое касается и файлов ресурсов: если ты видишь, что изменения в них никак не отражаются на сборке, сделай ребилд. |