Téléchargement des produits


Version anglaise


 

Depuis la version 11.0 d'Adélia Studio, il est possible de compiler vos applications Visual Adélia en Unicode. Cela permet d'activer le support des thèmes de Windows (par exemple le thème XP ou le thème Vista) dans les applications générées.

 

Le moteur de thème de Windows modifie l'aspect des fenêtres et des contrôles graphiques, généralement en appliquant soit un fond dégradé, soit une image, au lieu de dessiner simplement un fond plein. Par exemple, de façon générale, le dessin d'un onglet ou d'un bouton est une image.

 

Adélia Studio supporte désormais les thèmes, ce qui implique que les fenêtres de votre application auront une apparence différente en fonction du thème sélectionné.

 

Limitations du support des thèmes

 

L'utilisation des thèmes implique un certain nombre de limitations quant aux propriétés d'objet permettant de personnaliser l'apparence :

  • bien qu'il soit possible de fixer certaines propriétés comme la police, le dessin du contrôle est pris en compte par le thème, qui peut ou non utiliser la police que vous avez fixée. Par exemple, le texte d'un cadre s'affiche systématiquement en bleu avec le thème Windows XP standard, quelle que soit la couleur sélectionnée.

  • La modification des couleurs (texte ou fond), du style du texte peut donner un résultat plus ou moins bon en fonction du thème (en fonction, par exemple, de l'utilisation d'un fond de fenêtre clair ou sombre). Par exemple, si vous donnez un fond bleu à un cadre, le texte sera illisible avec le thème standard.

Le problème le plus visible se produit si vous modifiez la couleur du fond d'un contrôle : en fonction du thème, l'affichage peut être plus ou moins contrasté, de plus un fond uni n'est pas cohérent avec une image de fond dans un contrôle à onglets.

Adélia offre un paramétrage permettant de combiner la couleur de fond sélectionnée avec le fond de la fenêtre, ce qui peut améliorer l'apparence avec certains thèmes, à la fois en permettant de voir l'image de fond en transparence et en améliorant le contraste :

 

Exemple :

Affichage d'un bouton radio avec une couleur de fond cyan foncé. De gauche à droite, la transparence varie : 0 (opaque), 128 (semi transparent) et 255 (transparent). A noter qu'avec ce thème, la couleur de fond n'est pas appliquée à l'ensemble du contrôle.

 

 

La même fenêtre avec le thème Windows XP standard

 

 

La même fenêtre avec le thème Windows classique

 

 

Il faut noter une limitation des thèmes Windows : les contrôles à onglet multilignes sont mal supportés, de même que les onglets placés en bas ou verticalement. Adélia Studio prend en charge le rendu de ces contrôles, et ce rendu est correct avec les thèmes testés, mais il est possible que l'affichage des onglets présente des défauts avec certains thèmes. De façon générale, il est préférable de se limiter à l'utilisation d'onglets placés sur une seule ligne, en haut de la fenêtre.

 

Activation du support des thèmes Windows

 

Le support des thèmes Windows s'active en forçant l'utilisation de la version 6 des "common controls" (comctrl32.dll) via le manifeste de l'application. Deux exemples de manifeste sont livrés en standard avec Adélia (themes.manifest et no_themes.manifest). Pour que le support des thèmes soit activé directement à la compilation des nouveaux programmes, il suffit de copier le fichier souhaité "themes.manifest" sous le nom "unicode.manifest" dans le répertoire Adélia, ou de le copier ultérieurement à la main sous le nom "monexe.exe.manifest" dans le même répertoire que "monexe.exe". Ce fichier remplacera éventuellement le fichier produit par le compilateur.

 

Attention : la version 6 des common controls (comctrl32.dll) n'est pas compatible avec les applications Ansi ; vous ne devez faire cette opération que pour les programmes Adélia compilés en Unicode.

 

Pour information, l'activation des common controls v6 se fait en ajoutant les déclarations suivantes dans le manifeste :

<dependency>

<dependentAssembly>

<assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' />

</dependentAssembly>

</dependency>

 

↑ Haut de page


  • Aucune étiquette