Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Nouvelles

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 :

win11_stylesingetit-6776118

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.

win11_stylesindesigner-9416219

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.

windows11light-4816822

windows11dark-4357685

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¬†:

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 :

win11_unitinterface-8974721

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 :

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¬†:

win11_vclapp-4273036

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¬†¬†:

win11_snap-6672888

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.


What's Coming in Delphi, C++Builder, and RAD Studio 11.2 Alexandria

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES