Ab 4D v16 können Sie für jede Zeile in Ihrem Listenfeld eine andere Zeilenhöhe einstellen. Mit ein paar Zeilen Code haben Sie also ein Listenfeld mit Zeilen, die dem Inhalt entsprechen. Mit dieser 4D v16 Funktion haben wir dem Entwickler die volle Kontrolle gegeben, um die Höhe für jede einzelne Zeile der Listbox genau zu definieren.
Mit 4D v16 R5 habenwir beschlossen, noch weiter zu gehen und Ihnen einenvollautomatischen Modus zur Verfügung zustellen. Es ist nun möglich, Listen in einer wunderschönen Oberfläche ohne jegliche Programmierung darzustellen. Sie müssen nur ein paar Eigenschaften im Listenfeld einstellen, und 4D erledigt den Rest für Sie. Es ist magisch, flüssig, und wieder … keine einzige Zeile Code!
Wenn Listenfelder auf Arrays basieren, ermöglicht die automatische Zeilenhöhe die automatische Anpassung der Höhe jeder Zeile an ihren Inhalt. So kann der gesamte Text oder das Bild angezeigt werden.
Spalten können bei der Berechnung der Zeilenhöhe entweder berücksichtigt oder ignoriert werden. Grenzwerte können entweder mit Pixeln, Zeilen oder beidem definiert werden(z. B. min: 2 Zeilen, max 200 Pixel).
Neue Eigenschaften der Listbox
Drei neue Einstellungen können dank der Eigenschaftsliste leicht definiert werden. Mit ihnen können Entwickler festlegen, ob die Listbox den automatischen Zeilenhöhenmodus verwendet und wie hoch eine Zeile mindestens und höchstens sein darf.
Code-Beispiel
Diese Einstellungen können auch durch Programmierung verwaltet werden, wenn dynamische Schnittstelleneinstellungen erforderlich sind:
LISTBOX SET PROPERTY (*; "LB";lk auto row height;lk yes)
LISTBOX SET AUTO ROW HEIGHT (*; "LB"; lk row min height; 2; lk lines)
LISTBOX SET AUTO ROW HEIGHT (*; "LB"; lk row max height; 100; lk pixels)
Zu diesem Zweck wurde der LISTBOX SET PROPERTY Befehl aktualisiert, um den neuen Selektor lk auto row height zu unterstützen. Wir haben auch einen neuen Befehl erstellt, LISTBOX SET AUTO ROW HEIGHTerstellt, um die minimale und maximale Höhe für eine Listbox mit automatischer Zeilenhöhe festzulegen.