Site icon Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Plus de prise en charge VCL pour Windows 11

win11 vclapp

Avec la sortie officielle de Windows 11, Embarcadero a mis à disposition certains styles VCL spécifiques et je propose des aides au codage spécifiques à la nouvelle version du système d’exploitation de bureau Microsoft. D’autres viendront avec le temps.


Après l’annonce plus tôt cette année, Microsoft a maintenant officiellement publié Windows 11 la semaine dernière. Malgré quelques problèmes d’exécution du nouveau système d’exploitation sur des ordinateurs plus anciens en raison de nouvelles exigences matérielles, la nouvelle version de Windows offre une expérience utilisateur et un environnement de travail plus agréables, tout en maintenant un très haut degré de compatibilité avec les applications existantes, y compris celles écrites avec Delphi et C. ++ Constructeur. Nous nous attendons à ce que de nombreux utilisateurs finaux passent à Windows 11 dans les prochains mois.

Dans cet article de blog, je ne veux pas me concentrer sur Windows 11 et son expérience utilisateur renouvelée, mais plutôt sur la façon dont vous pouvez encore améliorer vos applications VCL pour en faire des citoyens de première classe dans le nouveau système d’exploitation. De manière générale, il existe de nombreuses techniques de modernisation que Delphi et C++Builder proposent pour mieux s’adapter aux versions récentes de Windows, de l’utilisation des styles VCL à l’adoption des nombreux nouveaux contrôles VCL introduits ces dernières années (jusqu’à la ControlList et les contrôles NumberBox dans RAD Studio 10.4.2 et le RichEdit remanié dans RAD Studio 11 Alexandria).

Concentrons-nous sur la prise en charge spécifique de Windows 11, allant encore plus loin que les suggestions et idées générales de migration. Windows 11 est livré avec les contrôles WebView2, c’est donc le moment idéal pour adopter  TEdgeBrowser  sur le composant TWebBrowser. De plus, Microsoft continue de se concentrer sur les applications packagées et le Microsoft Store, deux fonctionnalités que vous pouvez obtenir via la prise en charge de RAD Studio IDE pour le format de déploiement MSIX. Ces fonctionnalités se trouvent dans la version actuelle de RAD Studio 11 (et étaient là encore plus tôt).

Nouveaux styles VCL Windows 11

Ce que nous avons publié hier et qui est maintenant disponible dans GetIt est un ensemble de deux nouveaux styles VCL spécifiques à Windows 11, pour les modes clair et sombre. Tapez « Windows 11 » dans la barre de recherche pour les localiser rapidement :

Une fois que vous avez installé les deux styles, vous pouvez ouvrir les paramètres d’un projet VCL, aller sur la page Apparence, ajouter les styles à l’application et (si vous avez activé l’utilisation des styles VCL au moment de la conception), les sélectionner dans la propriété StyleName de un formulaire pour les prévisualiser au moment de la conception, comme dans l’image ci-dessous. Remarquez, entre autres éléments, les fines barres de défilement de style moderne dans la zone de liste.

Nous avons quelques images plus «officielles» des deux styles ci-dessous, où vous pouvez voir des éléments arrondis supplémentaires et des couleurs correspondant aux nouvelles valeurs par défaut de la plate-forme.

Windows 11 coins arrondis

L’un des éléments les plus visibles de Windows 11 est l’utilisation d’« éléments d’interface utilisateur arrondis », à commencer par les coins de forme arrondis. Si vous créez une toute nouvelle application VCL sans configuration ou paramètre spécial et que vous l’exécutez sous Windows 11, vous devriez voir des coins plus arrondis pour les formulaires par défaut. Cependant, il s’agit d’une fonctionnalité sur laquelle vous avez un contrôle total à l’aide d’un appel d’API Windows public spécifique  DwmSetWindowAttribute :
[crayon-6750128f30207948674613/]
Pour faciliter l’utilisation de cette API (déjà couvert par  Ian Barker  dans un article de blog détaillé intitulé « Comment contrôler les coins arrondis de Windows 11 dans votre application »), j’ai écrit une  classe d’aide d’ interposeur  avec un code similaire, disponible sur GitHub à l’adresse :

https://github.com/marcocantu/DelphiSessions/blob/master/Win11_Delphi11/Win11Round/Win11Forms.pas

Vous pouvez voir la section d’interface de l’unité ici :

Ajoutez simplement cette unité dans l’instruction uses de la section interface d’un formulaire, après l’unité Vcl.Forms, et votre formulaire aura une nouvelle propriété de classe indiquant l’arrondi par défaut et une nouvelle propriété pour le paramètre de formulaire spécifique, afin que vous puissiez écrire :
[crayon-6750128f3020e454135700/]
Ce code ne fonctionne que sur Windows 11, car Windows 10 ou les versions précédentes l’ignorent (mais ne génèrent aucune erreur). Je l’ai utilisé dans une simple démo (également sur GitHub à  https://github.com/marcocantu/DelphiSessions/tree/master/Win11_Delphi11/Win11Round ) avec l’interface utilisateur suivante :

Notez enfin que les applications VCL, y compris celles qui utilisent la barre de titre VCL personnalisée, offrent une prise en charge des mises  en page instantanées prêtes à l’emploi  :

Un petit problème et plus à venir

Comme je l’ai mentionné précédemment, les applications VCL fonctionnent généralement bien sur Windows 11. Il existe un problème avec la coloration des éléments de menu avec les images associées, étant donné que la plate-forme utilise un ensemble différent de couleurs par défaut qu’une application VCL ne respecte pas entièrement. Cela a été signalé sur QP  https://quality.embarcadero.com/browse/RSP-35049 . Bien qu’il existe une solution de contournement dans le rapport Quality Portal, nous prévoyons de proposer un correctif pour RAD Studio 11 pour ce problème sous peu.

Nous prévoyons d’autres améliorations et démonstrations de nouvelles fonctionnalités liées à Windows 11 dans les mois à venir et dans la future version de RAD Studio 11.1. Restez à l’écoute.

Créer des applications pour Windows 11 avec VCL

Ce n’est pas un mystère qu’Embarcadero ait utilisé la version 11 pour la dernière version de RAD Studio pour la lier à Windows 11. Avec tous les changements dans les bibliothèques d’interface utilisateur que les outils Microsoft ont subis ces dernières années, je suis certain que l’étendue de la prise en charge des API et l’intégration de plate-forme offerte par la bibliothèque VCL dans Delphi et C++Builder est inégalée par Microsoft Visual Studio ou tout autre ensemble d’outils tiers. Microsoft a clairement indiqué que le développement natif de Windows est et reste la clé (voir Windows App SDK, alias Project Reunion) et reste l’option courante, mais leurs bibliothèques dans cet espace (comme MFC et WinForms) ne sont pas à la hauteur de la VCL et sont à la traîne de leur propres fonctionnalités de la plate-forme.

La bibliothèque VCL, avec sa capacité à se mapper sur des API classiques et modernes (de l’API Win aux API basées sur COM, à WinRT) et sa prise en charge des moniteurs High DPI et des tendances d’interface utilisateur modernes – le tout sans nécessiter une réécriture complète de l’application – est unique dans le scénario de développement de bureau Windows et se distingue clairement par sa puissance. Pour le développement de Windows 11, la bibliothèque de composants visuels est la voie à suivre.

The VCL library, with its ability to map to classic and modern APIs (from Win API, to COM-based APIs, to WinRT) and its support for High DPI monitors and modern UI trends — all without requiring a full application rewrite — is unique in the Windows desktop development scenario and clearly stands out for its power. For Windows 11 development, the Visual Component Library is the way to go.

Quitter la version mobile