WinUI 3 C++ Steuerelemente – Grundlegende Text-Steuerelemente

In dieser Lektion lernen wir die Steuerelemente von WinUI 3 C++ kennen. WinUI C++ bietet eine umfangreiche Auswahl an integrierten Steuerelementen, wir beginnen mit den grundlegenden Steuerelementen für Textanzeige und Texteingabe.

Folgend sind alle textbezogenen Kernsteuerelemente aufgelistet:

TextBlock:Statische Textanzeige, unterstützt Rich-Text und Inline-Stile

RichTextBlock:Schreibgeschützter Rich-Text-Viewer, Absätze, Kursiv, Fett, eingebettete Bilder werden unterstützt

TextBox:Einzeiliges Texteingabefeld

RichEditBox:Mehrzeiliger Rich-Text-Editor (Schriftart, Farbe, Absatzformatierung konfigurierbar)

PasswordBox:Passworteingabefeld, verdeckt eingegebene Zeichen

AutoSuggestBox:Eingabefeld mit automatischer Vorschlag-Dropdown-Liste

NumberBox:Nur numerische Eingabe, Begrenzung von Minimal-/Maximalwert und Dezimalzahlen unterstützt


    <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>Code-Sprache: HTML, XML (xml)

Platziere den Cursor auf den Ereignisnamen und drücke F12, um die Klick-Ereignisfunktion des Buttons automatisch zu generieren

#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");//Text des TextBox setzen
    hstring inputText = myTextBox().Text(); //Text des TextBox auslesen
    OutputDebugStringW(inputText.c_str());
}
Code-Sprache: C++ (cpp)

Mit myTextBox().Text lassen sich Textwerte setzen und abfragen: Übergibst du einen Parameter wie L"welcome to foxdevelop.com", wird der Inhalt gesetzt; ohne Parameter (hstring inputText = myTextBox().Text();) liest du den aktuellen Text aus.

Hinweis: Auch wenn du mit myTextBox().Text(L"welcome to foxdevelop.com"); einen Standardtext einfügst, kann jeder manuell eingegebene Text des Nutzers nach dem Klick auf den Button im Backend-Code ausgelesen werden.

Alle anderen Text-Steuerelemente unterstützen das Lesen und Schreiben von Werten über eine ähnliche Syntax, wir gehen hier nicht auf jedes einzelne ein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert