> Tech > Moderniser une application avec le ruban Windows

Moderniser une application avec le ruban Windows

Tech - Par iTPro - Publié le 03 octobre 2011
email


Une décision importante à prendre pour migrer votre application vers Windows 7 concerne l’utilisation ou non du ruban Windows 7. L’interface à ruban est mise en œuvre à l’échelle du système d’exploitation, ce qui améliore le développement d’interfaces utilisateur sur la plate-forme. Que votre application utilise

déjà le contrôle MFC Ribbon ou non, Visual C++ 2010 vous aide à migrer vers le nouveau ruban Windows 7.

Si votre application utilise des menus et barres d’outils, la migration vers le ruban requiert une certaine dose de planification. A cet effet, je recommande la lecture de certaines documentations sur la philosophie sous-jacente à l’interface utilisateur Microsoft Office Fluent, des instructions sur la conception d’une interface utilisateur orientée ruban et des contraintes de licence associées à l’utilisation du ruban (voir l’encadré « Ressources concernant le ruban Windows »).

Pour avoir une meilleure idée de l’aspect de votre interface utilisateur à ruban, le nouveau Ribbon Designer dans Visual Studio 2010 facilite la création du ruban et le relie à vos gestionnaires d’événements nouveaux et existants dans votre code, comme l’illustre la figure 2. Puisque le contrôle MFC Ribbon utilise les mêmes gestionnaires d’événements basés sur WM_COMMAND, il est possible de réemployer les ID de commande exposés précédemment par les menus et barres d’outils, ce afin de rationnaliser la migration.

Le Ribbon Designer stocke la représentation sérialisée du ruban en tant que ressource au format XML. Lors de l’exécution, utilisez le contrôle CMFCRibbonBar pour charger le code XML et recréer les contrôles de ruban, comme illustré ci-après :

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{ …
m_wndRibbonBar.Create(this);
// m_wndRibbonBar is a protected member
// of type CMFCRibbonBar
m_wndRibbonBar.LoadFromResource(IDR_RIBBON);
// IDR_RIBBON is the resource created
// by the Ribbon Designer

}

La prise en charge du ruban Office a été incluse initialement dans le Visual C++ 2008 Feature Pack, puis dans le Visual Studio 2008 SP1. Si vous avez déjà passé du temps à repenser votre interface utilisateur afin d’intégrer le ruban et si votre application utilise le contrôle MFC Ribbon avec l’aspect Office, dans Visual Studio 2010, il vous suffit de modifier l’aspect du ruban vers le modèle Windows 7 en ajoutant deux lignes à votre code d’initialisation de cadre principal (mainframe) :

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{ …
CMFCVisualManager::SetDefaultManager(
RUNTIME_CLASS(CMFCVisualManagerWindows7));
m_wndRibbonBar.SetWindows7Look(TRUE);

}

Si vous mettez à niveau votre ruban à partir de Visual Studio 2008, votre application existante n’utilise pas la nouvelle approche déclarative de définition du ruban (la représentation XML prise en charge par le Ribbon Designer). Pour mettre en œuvre le Ribbon Designer dans votre développement, vous devez remplacer votre code de création de ruban avec la création XML déclarative. MFC vous aide à effectuer la substitution en vous permettant d’enregistrer un ruban déjà créé (indépendamment de l’approche employée) vers XML. Ajoutez simplement la ligne suivante sous votre code de création de ruban et exécutez votre application :

m_wndRibbonBar.SaveToXMLFile(
L"my2008ribbon.mfcribbon-ms");

Cet appel va générer une sérialisation XML de la représentation de runtime du ruban au moment de l’appel. Vous pouvez ensuite ajouter le fichier à votre application MFC en tant que ressource de ruban et remplacer tout le code de création avec un seul appel à CMFCRibbonBar::LoadFromResource.

Téléchargez gratuitement cette ressource

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

Téléchargez cette étude Forrester et découvrez comment booster la collaboration tout en dégageant un excellent R.O.I grâce au système de vidéoconférence HP Elite Slice G2 avec Microsoft Teams !

Tech - Par iTPro - Publié le 03 octobre 2011