Скиннинг приложений MFC - PullRequest
2 голосов
/ 04 мая 2009

Я видел несколько классных приложений с великолепно выглядящими скинами. Я новичок в MFC и хочу создать приложение с возможностью смены скинов. Как это делается в MFC? Я проверил некоторые учебники, но немного устарел. Спасибо ...

Ответы [ 2 ]

1 голос
/ 04 мая 2009

MFC в целом устарел, но вы, вероятно, уже знаете это. Если вы готовы платить, кажется, есть поставщик, который предоставляет компонент скининга. См. BCGSoft .

alt text

Альтернативой может быть поиск другой платформы, такой как платформа XULRunner Mozilla , на которой основана Songbird ( Developer Center ). См. Внешний вид дополнения и Радость XUL .

альтернативный текст http://addons.songbirdnest.com/addon-images/1345/Screenshot-darksuper_thumbnail.png?1218294592

альтернативный текст http://addons.songbirdnest.com/addon-images/197/zrzutekranu-Blank_page_-_Songbird_thumbnail.png?1211917007

1 голос
/ 04 мая 2009

Просто заметка. Концепция скиннинга пользовательского интерфейса является общей задачей разработки программного обеспечения (в основном концепция плагин ) и, насколько мне известно, не поддерживается в явном виде в качестве службы каким-либо языком или средой, такой как MFC. То есть не существует "MFC-способа" создания скинов и ".NET-способа". Но вы можете использовать любой из них для разработки поддержки скинов.

Тем не менее, некоторые языки или платформы могут облегчить реализацию поддержки скинов, чем другие. Я бы обычно рекомендовал C # / .NET для кодирования пользовательского интерфейса, но большая часть разработки поддержки плагинов / скинов касается общих механизмов и интерфейсов кода, и там вопрос языка / фреймворка довольно спорный. Есть также готовые фреймворки для многих языков, которые делают это для вас, если вы не заинтересованы в том, чтобы писать сами.

Некоторые ссылки, которые могут быть полезны:

Концепция плагинов (обратите внимание на список структур плагинов для некоторых языков внизу)

Шаблон оформления фасада

Шаблон проектирования посредника

Общая информация о скинах

...