Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Cyril Sansus

WPF, Interfaces Utilisateurs et .NET
Layout pour Windows Mobile (Part 1)

Windows Mobile est, contrairement à ce que l’on pourrait croire, une plateforme ultra complète pour le développement mobile : Compact Framework, office, téléphonie, connectivité, Bluetooth, GPS, notifications, gesture, Web Service, Threading …

Malgré tout cela, Windows Mobile se traine une API plutôt vieillotte concernant l’interface graphique. L’un des points faibles qui va nous intéresser est le layouting, c’est à dire le positionnement, le dimensionnement et la création de formulaires mobiles pour créer de vraies applications métiers.

En effet, la création d’un formulaire Windows Mobile n’est pas évidente si on souhaite obtenir une interface modulable qui s’adapte à la fois à la résolution, à l’orientation de l’écran ainsi qu’au contenu des contrôles.

Un problème majeur qu’on rencontre également en Windows Forms à la différence que le Framework .NET est plus complet sur ce point (FlowLayoutPanel, TableLayoutPanel, AutoSize, GDI+ …).

Bref : Windows Mobile n’offre pas vraiment de solution “toute prête” pour positionner et dimensionner les éléments d’une interface. De ce fait, on abouti souvent à des interfaces peu homogènes et qui ne fonctionnent que pour une résolution donnée (je ne parle même pas de la rotation d’écran).

Une des principales lacunes des contrôles Windows Mobile est qu’ils ne sont pas capables d’adapter leur taille en fonction de leur contenu. L’exemple le plus flagrant est le contrôle Label qui ne possède pas de propriété AutoSize : vous devez définir des dimensions fixes. Et si par malheur le texte vient à change en cours d’exécution et qu’il dépasse la taille du Label, le texte sera tronqué.

Les figures ci-dessous illustrent cette problématique. A gauche , on peut voir un label avec un texte suffisamment court pour qu’il rentre en largeur. A droite, le même label mais pour lequel j’ai dû positionner un texte plus long : on ne peut tout simplement pas voir la fin du texte.

1 2

Si certains se disent “trop simple ! Un petit coup de MeasureString et le tour est joué”, sachez que le Compact Framework ne permet pas de calculer la taille d’un texte avec des contraintes en largeur :p

Toutes ces problématiques ont des solutions et je vous propose de les découvrir ensemble dans cette série de posts. La prochaine fois sera (je pense) consacrée aux outils que propose le Compact Framework afin de créer vos formulaires.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: lundi 30 novembre 2009 21:00 par Vko
Classé sous :

Commentaires

KooKiz a dit :

Pour sur, qu'est-ce que j'ai souffert pour faire des interfaces simples sur Windows Mobile. J'espère que Silverlight dans sa version mobile apportera un peu plus de souplesse.

# décembre 1, 2009 09:06

Vko a dit :

Bizare, personne n'aime Win32 :)

# décembre 2, 2009 09:26
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Kinect 1.5 is out ! par Cyril Sansus le 05-21-2012, 17:47

- Les actualités de la semaine sur c2i.fr (14 mai - 20 mai) par Richard Clark le 05-21-2012, 08:50

- Reactive Extensions : Consommer des services avec Rx Partie 3, les pièges à éviter par Léonard Labat le 05-20-2012, 23:45

- SharePoint Blog Site, problème d’archives par Le Blog (Vert) d'Arnaud JUND le 05-20-2012, 13:09

- Soirée ALT.NET Mai - 3 présentations par #Rui le 05-18-2012, 11:59

- [ #SharePoint 2010][ #SQLServer 2012] AlwaysOn pour SharePoint (2/4) : Configuration (2e partie)… par Le blog de Patrick [MVP SharePoint] le 05-18-2012, 11:31

- Team Foundation Server 11: tous les trésors cachés du site d’équipe par Philess le 05-16-2012, 19:01

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le 05-16-2012, 17:36

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le 05-16-2012, 12:10

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26