Zu den neuen Funktionen in der kommenden Version von Delphi, C ++ Builder und RAD Studio 10.4.2 Embarcadero gehören zwei brandneue VCL-Steuerelemente, ein virtualisiertes Listensteuerelement und ein numerisches Eingabefeld.
Warnung: Dieser Blog-Beitrag behandelt ein unveröffentlichtes Produkt, das bis GA geändert werden kann.
Die Veröffentlichung von RAD Studio 10.4.2 rückt näher und Sie können morgen an unserem Vorschau-Webinar teilnehmen, siehe https://blogs.embarcadero.com/whats-coming-in-10-4-2-sydney/ . Dies sind einige Informationen vor der Veröffentlichung (oder Beta-Blogging) zu einem bestimmten Bereich, den neuen VCL-Steuerelementen.
Table of Contents
Neues VCL TControlList-Steuerelement
Embarcadero führt in der VCL-Bibliothek ein neues flexibles und virtualisiertes Listensteuerelement ein. Die Idee hinter diesem Steuerelement ist es, ein neues, modern aussehendes VCL-Steuerelement anzubieten, das eine benutzerdefinierte UI-Konfiguration und ein Hochleistungssteuerelement bietet, das mit sehr langen Listen verwendet werden kann. Diese Liste stellt eine einzelne Auswahlliste dar und alle Elemente haben visuell die gleiche Höhe und Breite.
Mit dem neuen Steuerelement kann der Entwickler den Inhalt definieren, indem er eines der Elemente der Liste mithilfe grafischer Steuerelemente (dh TGraphicControl-Nachkommen) entwirft und dem Steuerelement Daten zur Anzeige einzelner Elemente bereitstellt, ohne alle Steuerelemente für alle Elemente zu erstellen Elemente in der Liste, aber nur diejenigen, die zum Anzeigen der Daten benötigt werden. Da die Liste vollständig virtuell ist, kann sie Tausende und sogar Millionen von Elementen verarbeiten und bietet ein extrem schnelles Scrollen. Neben der Berechnung und Anzeige nur der Elemente, die auf den Bildschirm passen, wird in der Liste der Inhalt der Elemente mithilfe von speicherinternen Bitmaps zwischengespeichert.
Das neue Steuerelement ähnelt dem klassischen TDBCtrlGrid-Steuerelement. Es gibt ein Bedienfeld für Steuerelemente, in das Sie Steuerelemente einfügen und zur Laufzeit virtuelle Elemente erstellen lassen. Im Gegensatz zu DBCtrlGrid können wir nur TGraphicControl darauf platzieren und alle Elemente sind virtuell. Unten sehen Sie das Steuerelement zur Entwurfszeit (wobei die Oberfläche eines einzelnen Elements zur Bearbeitung verfügbar ist) und zur Laufzeit (wobei derselbe Inhalt um ein Vielfaches multipliziert wird).
Diese Liste enthält keine Sammlung von Elementen mit bestimmten Informationen. Die Daten können entweder über Live-Bindungen (einschließlich der Bindung an einen Datensatz oder eine Sammlung von Objekten) oder über ein Ereignis bereitgestellt werden, um die Daten eines einzelnen Elements abzufragen (so dass die direkte Speicherung und Zuordnung vollständig dem Entwickler überlassen bleibt). . Für jedes Element, um das Steuerelement anzuzeigen, wird ein Ereignishandler aufgerufen, mit dem Sie das Erscheinungsbild jedes Elements anpassen können. In diesem Fall ändern Sie lediglich die Beschriftung des Etiketts:
[crayon-6729922bb405c890867781/]
Mit dem vorherigen Design, 10.000 Elementen und mehreren Spalten erzeugt dieser triviale Code eine Ausgabe wie folgt:
Zur Entwurfszeit gibt es einen speziellen Dialog mit einer Sammlung voreingestellter Konfigurationen, einschließlich der Anpassung der TControlList-Eigenschaften und der Steuerungssammlungen mit bestimmten Eigenschaften. Sie verwenden die Pfeile oben, um die Kernkonfiguration auszuwählen, und können sie mit einigen der anderen Kontrollkästchenoptionen unten optimieren. Der Assistent überschreibt die Einstellung der Kontrollliste.
Das von Ihnen entworfene Element wird (virtuell) für jedes der mit der ItemCount-Eigenschaft angeforderten Elemente repliziert. Die sichtbare Oberfläche des Steuerelements ermöglicht im Allgemeinen eine Reihe von Elementen mit derselben Breite und Höhe. Das Steuerelement verfügt über 3 verschiedene Layouts:
- Einzel für eine einzelne Spalte von Elementen. In diesem Fall stimmt die Breite des Elements mit der Steuerelementbreite überein.
- Multi Top To Bottom ermöglicht mehrere Spalten und verwendet den verfügbaren vertikalen Raum, bevor zur nächsten Spalte gewechselt wird, und bietet vertikales Scrollen.
- Multi von links nach rechts ermöglicht auch mehrere Spalten, verwendet jedoch ein anderes Layout und einen anderen horizontalen Bildlaufmodus (siehe Abbildung unten).
Im Allgemeinen können Sie das OnClick-Ereignis für jedes Steuerelement in der Steuerelementliste verwenden. Das Steuerelement unterstützt High-DPI-Optionen und VCL-Stile und ist vollständig für Live-Bindungen aktiviert.
Die neue TControlListButton-Komponente
Wir können TSpeedButton nicht direkt im Bedienfeld verwenden, da das Steuerelement keine speziellen Interaktionen wie den Status einer geänderten Schaltfläche verarbeitet. Für Steuerelemente, die unterschiedliche Status haben können, haben wir eine spezielle TControlListControl-Klasse hinzugefügt (von TGraphicControl geerbt). Sie können neue Steuerelemente erstellen, die von der TControlListControl-Klasse erben, und Mausereignisse für ihre Elemente verwenden. Dies ist der Ansatz von TControlListButton – das Analogon eines TSpeedButton, der mit TControlList verwendet werden kann. Diese Schaltfläche hat 3 Stile – Druckknopf, Werkzeugknopf und Link.
Neue VCL TNumberBox-Steuerung
Das neue VCL TNumberBox-Steuerelement ist ein modern aussehendes numerisches Eingabesteuerelement, das dem WinUI NumberBox-Steuerelement der Windows-Plattform nachempfunden ist. Das Steuerelement unterstützt die Eingabe von Ganzzahlen, Gleitkommazahlen mit einem bestimmten Satz von Dezimalstellen und korrekter Formatierung sowie Währungswerten:
Der Benutzer kann den Wert mithilfe von Pfeiltasten erhöhen oder verringern oder Tasten oder Mausrad zulassen sowie mithilfe der Bild-auf- und Bild-ab-Tasten um einen großen Wert erhöhen und verringern. Die Komponente enthält eine optionale Drehschaltfläche (konfiguriert mit der Eigenschaft SpinButtonOptions Placement), die kompakt, inline oder deaktiviert sein kann, wie hier gezeigt:
Die Komponente unterstützt auch die einfache Auswertung von Ausdrücken. Wenn diese Option aktiviert ist, kann ein Benutzer einen Ausdruck wie 40 + 2 eingeben, und das Steuerelement ersetzt ihn durch das Ergebnis. Das Steuerelement unterstützt die Berechnung von Inline-Berechnungen von Grundgleichungen wie Multiplikation, Division, Addition und Subtraktion (ermöglicht die Verwendung von Klammern). Beachten Sie, dass Sie die Symbole + und – sowohl als binäre als auch als unäre Operationen verwenden können. Sie können also -23 oder + 23 eingeben, 55 + 23 und 55-23 schreiben und sie sogar wie in 53 ++ 23 oder 53 kombinieren –23, was als 53 – (-23) bewertet wird. addiert also die beiden Werte.
Bleiben Sie dran
Das ist alles für jetzt. Besuchen Sie das Vorschau-Webinar von morgen und laden Sie (einmal veröffentlicht) die Testversion herunter, um mit diesen neuen VCL-Steuerelementen zu experimentieren.