Carbide / Symbian C++ - Изменить значок приложения
Я использую Carbide (только что обновленный до 2.0) для разработки приложения S60 3rd Edition.
Я хотел бы узнать, как проще всего поменять значок (как значок приложения в меню устройства, так и значок в левом верхнем углу главного окна), поскольку мне необходимо как можно проще обработать приложение различными способами.,
Все мои попытки возиться с файлами.mif пока не увенчались успехом. У меня есть значок 44x44 .svg, который я сделал с помощью Illustrator, может кто-нибудь помочь мне в правильном направлении?
Спасибо!
4 ответа
Чтобы изменить значок приложения при запуске приложения (в строке состояния):
CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
CAknContextPane* cp=(CAknContextPane *)sp->ControlL(TUid::Uid(EEikStatusPaneUidContext));
_LIT(KContextBitMapFile, "my_bitmap_file.mbm");
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(KContextBitMapFile, EMbmBitmap);
CleanupStack::PushL(bitmap);
CFbsBitmap* bitmapmask = iEikonEnv->CreateBitmapL(KContextBitMapFile, EMbmBitmapMask);
CleanupStack::PushL(bitmapmask);
cp->SetPicture(bitmap, bitmapmask);
CleanupStack::Pop(); // bitmapmask
CleanupStack::Pop(); // bitmap
DrawNow();
Я не знаю никакой возможности программно изменить значок приложения в списке меню, кроме переустановки приложения с другим файлом MIF.
Если вы хотите изменить значок в вашем SIS-файле, а затем переустановить его на устройстве, вам может потребоваться перезагрузить устройство после установки - значок приложения находится в кэше Symbian и не обновляется.
В последних версиях QMake и Qt SDK (4.6.2) вам не нужно создавать какой-либо файл.mif самостоятельно. Подойдет файл SVG.
Более подробные инструкции смотрите: Как установить значок и заголовок приложения Qt в Symbian S60.
Хотя в статье используется Qt Creator, если вы используете QMake, то это одно и то же.