2009-05-04 4 views
2

J'ai vu quelques applications cool avec des peaux superbes. Je suis nouveau à MFC et je veux créer une application avec la possibilité de changer les skins. Comment cela se fait-il dans MFC? J'ai vérifié quelques tutoriels mais je suis un peu dépassé. Merci ...skinning applications MFC

Répondre

1

MFC en général est obsolète, mais vous avez probablement déjà k maintenant ça. Si vous êtes prêt à payer, il semble y avoir un fournisseur qui fournit un composant skinning. Voir BCGSoft.

alt text

Une alternative peut-être à chercher d'autres plate-forme tels que Mozilla XULRunner framework, qui Songbird (Developer Center) est basé sur. Voir Appearance Add-on et The Joy of XUL.

alt text http://addons.songbirdnest.com/addon-images/1345/Screenshot-darksuper_thumbnail.png?1218294592

alt text http://addons.songbirdnest.com/addon-images/197/zrzutekranu-Blank_page_-_Songbird_thumbnail.png?1211917007

+0

Il y a des COM et des ActiveX sympas du web aussi bien que skincrafter mais ça va aussi coûter de l'argent. Je ne suis pas sûr de ce que XULRunner va penser ... Je vais vérifier ... – Owen

+0

Il y a des COMs et ActiveX sympas du web aussi bien que skincrafter mais ça va aussi coûter de l'argent. Je ne suis pas sûr de ce que XULRunner va offrir ... Je vais vérifier ... – Owen

1

Juste une note. Le concept de UI skinning est une tâche de conception logicielle générale (fondamentalement un plugin concept) et n'est pas (à ma connaissance) explicitement supporté en tant que service par n'importe quel langage ou framework comme MFC. C'est à dire. il n'y a pas de "MFC-way" pour faire des skins, et pas de ".NET-way" non plus. Mais vous pouvez utiliser l'un ou l'autre pour concevoir le support de skinning. Cela dit, certains langages ou frameworks peuvent faciliter la mise en œuvre de l'habillage par rapport à d'autres. Je recommanderais généralement C# /. NET pour le codage de l'interface utilisateur, mais une grande partie de la conception de plugin/skin concerne les mécanismes de code généraux et les interfaces, et la question du langage/framework est plutôt discutable. Il existe également des cadres prêts pour de nombreuses langues qui le font pour vous, si vous n'êtes pas intéressé par l'exercice de l'écrire vous-même.

Quelques liens qui pourraient être utiles:

Plugin concept (note la liste des cadres de plug-in pour certaines langues en bas)

Facade design pattern

Mediator design pattern

General info about skins

+0

J'ai vu des échantillons en utilisant un fichier XML, mais je ne suis pas sûr de savoir comment mfc utilise le fichier à la peau de l'application. – Owen

+1

C'est mon point. MFC ne fait pas cela hors de la boîte. Vous devez écrire du code pour comprendre le fichier XML. Le fichier XML est probablement différent pour tout type d'application. – sharkin