2015-08-12 3 views
5

У меня есть приложение C++ MFC, в котором есть куча диалогов, которые определены в файле .rc. Мне нужно добавить плитку в приложение, чтобы привязать ее к меню «Пуск», потому что «плитка» по умолчанию, которую создает Windows из значка, выглядит не очень хорошо. Переписывание всего приложения для использования XAML вместо файла .rc сейчас не является вариантом. Плитка не обязательно должна быть интерактивной, просто отобразите более красивое изображение, чем просто пощелкивание маленького значка.Добавление плитки в приложение MFC

Есть ли способ добавить плитку в приложение MFC с .rc-файлом?

Если нет, то другая идея, которую я создал, - создать приложение-оболочку, которое использует XAML для создания плитки, и единственное, что сделает приложение-оболочка, это запустить приложение MFC. У кого-нибудь есть лучшее решение?

Я использую Visual Studio 2015. Файл .ico, который я использую, имеет в нем изображения 768x768, 512x512, 256x256, 150x150, 48x48, 32x32 и 16x16.

Редактировать

Существовал некоторая путаница, что именно мне нужно было. Вот аннотированный снимок экрана, который, надеюсь, ясно показывает проблему. annotated screen shot showing, default tile with small icon

Еще одно разъяснение, я не думаю, что это имеет значение, но я думал, что добавлю его только для того, чтобы быть в безопасности. Программе не нужно запускать на Windows 8/8.1, только Windows7 и Windows10

+0

это может не решить проблему, но попытались ли вы иметь изображение с фоном в качестве альфа-канала? Я прошу об этом, потому что все остальные изображенные изображения выглядят как моноколорные изображения с альфа-каналами, за исключением виджета «взрыв убивает не менее 50 в Китае» – Robson

+0

Да, я пробовал использовать альфа-канал. Это еще маленькое изображение на плитке. – spikeynick

ответ

1

После обширных исследований, ясно, что это не представляется возможным. Мало того, что это невозможно с MFC, но единственный способ создать плитку (живой или статический) - это приложение Windows Universal. Поэтому мое решение состоит в том, чтобы создать простую программу запуска, которая запускает приложение MFC, а затем существует. Тем не менее, одна оговорка здесь заключается в том, что программам Windows Universal не разрешается напрямую запускать другие программы. То, что им разрешено делать, - это открыть файл с его программой по умолчанию. Поэтому я создал новое расширение файла и назначил приложение по умолчанию программой MFC.

0

это-> SetWindowText ("SudeshMFCDemo");

https://msdn.microsoft.com/en-us/library/yhczy8bz(v=vs.90).aspx

+0

Я думаю, что вы неправильно поняли вопрос ** плитка ** не ** название ** – spikeynick

+0

Вы правы. Я неправильно прочитал вопрос здесь. Но у меня есть еще одна ссылка, я думаю, что это подходящее решение для вас. http://www.ucancode.net/Visual_C_MFC_Samples/Bitmap-as-dialog-background.htm –

+0

Нет, это не помогает. Эта ссылка связана с изображением внутри приложения и не имеет ничего общего с элементами меню. – spikeynick