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, то это одно и то же.

Другие вопросы по тегам