Изменить значок приложения в Visual Studio 2005? - PullRequest
8 голосов
/ 16 сентября 2008

Я хотел бы использовать другой значок для демо-версии моей игры, и я собираю демо с другой конфигурацией сборки, чем я делаю для полной версии, используя определение препроцессора для блокировки некоторого контента, используйте различная графика и т. д. Можно ли заставить Visual Studio использовать другой значок для значка приложения в демо-конфигурации, но продолжать использовать обычный значок для конфигурации полной версии?

Ответы [ 4 ]

8 голосов
/ 16 сентября 2008

Согласно этой странице вы можете использовать директивы препроцессора в вашем файле * .rc. Вы должны написать что-то вроде этого

#ifdef _DEMO_VERSION_
IDR_MAINFRAME ICON "demo.ico"
#else
IDR_MAINFRAME ICON "full.ico"
#endif
2 голосов
/ 16 сентября 2008

Что бы я сделал, это настроить событие перед сборкой (Свойства проекта -> Свойства конфигурации -> События сборки -> Событие предварительной сборки). Событие перед сборкой - это командная строка. Я бы использовал это, чтобы скопировать соответствующий файл значка на значок сборки.

Например, допустим, ваш значок сборки - «app.ico». Я хотел бы сделать свой fullicon 'app_full.ico' и мою демонстрационную иконку 'app_demo.ico'. Тогда я бы установил мои события перед сборкой следующим образом:

Событие предварительной сборки в полном режиме:

del app.ico | copy app_full.ico app.ico

Событие предварительной сборки в демонстрационном режиме:

del app.ico | copy app_demo.ico app.ico

Надеюсь, это поможет!

0 голосов
/ 16 сентября 2008

Я не знаю способа в visual studio, потому что настройки приложения привязаны к проекту отверстия. Но простой способ - использовать событие PreBuild и скопировать app.demo.ico в app.ico или app.release.ico в app.ico, требующий значения ключа $ (ConfigurationName), и обратиться к приложению. ico в каталоге вашего проекта.

0 голосов
/ 16 сентября 2008

Это приведет вас на полпути: http://www.codeproject.com/KB/dotnet/embedmultipleiconsdotnet.aspx

Затем вам нужно найти вызов Win32, который установит отображаемый значок из списка встроенных значков.

...