Contrôles WinUI 3 C++ – Contrôles de texte basiques

Contrôles WinUI 3 C++ – Contrôles de texte basiques

Dans cette leçon, nous allons découvrir les contrôles de WinUI 3 C++. WinUI C++ dispose d’une bibliothèque complète de contrôles intégrés, nous commencerons par les contrôles fondamentaux d’affichage et de saisie de texte.

Voici la liste des contrôles liés au texte :

TextBlock : Affichage de texte statique, prend en charge le texte enrichi et les styles en ligne

RichTextBlock : Visionneuse de texte enrichi en lecture seule, compatible paragraphes, italique, gras, images intégrées

TextBox : Champ de saisie de texte sur une seule ligne

RichEditBox : Éditeur de texte enrichi multiligne (réglage police, couleur, mise en forme des paragraphes)

PasswordBox : Champ de saisie de mot de passe, masque les caractères tapés

AutoSuggestBox : Champ de saisie avec liste déroulante d’autocomplétion

NumberBox : Saisie numérique uniquement, limitation des valeurs min/max et prise en charge des décimales


    <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="30">
        
        <TextBlock Text="Hello, FoxDevelop!" FontSize="24" Margin="0,0,0,20"/>
        
        <RichTextBlock>
            <Paragraph>
                <Run Text="This is a sample WinUI application."/>
            </Paragraph>
        </RichTextBlock>

        <TextBox x:Name="myTextBox" PlaceholderText="Enter your name" Text="" Margin="0,20,0,0"/>

        <RichEditBox PlaceholderText="Enter some rich text" Margin="0,20,0,0"/>

        <PasswordBox PlaceholderText="Enter your password" Margin="0,20,0,0"/>

        <AutoSuggestBox PlaceholderText="Search..." Margin="0,20,0,0"/>

        <NumberBox PlaceholderText="Enter a number" Margin="0,20,0,0"  Maximum="100" Minimum="0"/>

        <Button Content="Click Me" Margin="0,20,0,0" Click="Button_Click"/>
    </StackPanel>Langage du code : HTML, XML (xml)

Placez le curseur sur le nom de l’événement et appuyez sur F12 pour générer automatiquement la fonction de clic du bouton

#include "pch.h"
#include "MainWindow.xaml.h"
#if __has_include("MainWindow.g.cpp")
#include "MainWindow.g.cpp"
#endif


#include <winrt/Microsoft.UI.Xaml.Controls.h>
#include <winrt/Microsoft.UI.Xaml.h>

using namespace winrt;
using namespace Microsoft::UI::Xaml;
using namespace Microsoft::UI::Xaml::Controls;
using namespace Windows::Foundation;

// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.

namespace winrt::AppWinui::implementation
{
    int32_t MainWindow::MyProperty()
    {
        throw hresult_not_implemented();
    }

    void MainWindow::MyProperty(int32_t /* value */)
    {
        throw hresult_not_implemented();
    }

}

void winrt::AppWinui::implementation::MainWindow::Button_Click(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
    myTextBox().Text(L"welcome to foxdevelop.com");//Définir le texte du TextBox
    hstring inputText = myTextBox().Text(); //Lire le contenu du TextBox
    OutputDebugStringW(inputText.c_str());
}
Langage du code : C++ (cpp)

La méthode myTextBox().Text permet à la fois d’écrire et de lire du texte : si vous passez une chaîne large comme L"welcome to foxdevelop.com", elle définit le contenu ; sans paramètre (hstring inputText = myTextBox().Text();), elle renvoie le texte saisi.

Précision : même si vous pré-remplissez le champ avec myTextBox().Text(L"welcome to foxdevelop.com");, tout texte saisi manuellement par l’utilisateur sera récupérable par le code backend au clic sur le bouton.

Tous les autres contrôles textuels utilisent une syntaxe similaire pour lire et modifier leurs valeurs, nous ne détaillerons pas chacun d’eux ici.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *