Animieren des Hinzufügens einer Zeichenfolge zu einer ListBox in FireMonkey

8

Der folgende Code animiert das Hinzufügen einer neuen Zeichenfolge am Ende einer ListBox

%Vor%

Das Element wird erweitert und eingeblendet. Allerdings möchte ich die Zeichenfolge an einer beliebigen Stelle in der ListBox einfügen können - eigentlich am aktuellen ItemIndex. Weiß jemand, wie man das macht?

    
Alister 26.01.2012, 21:17
quelle

3 Antworten

4

Um die Tatsache zu umgehen, dass ListBox1.InsertObject und ListBox1.Items.Insert nicht funktionieren, können Sie Folgendes tun:

%Vor%

aber ist ein bisschen lächerlich. Es fügt (eventuell) die Zeichenfolge an Position 0 hinzu, wenn kein Element ausgewählt ist, andernfalls wird sie vor dem ausgewählten Element hinzugefügt. Diese Lösung erinnert mich zu sehr an Bubble Sort . Sie müssen die Mathematikeinheit zu Ihrer uses-Klausel hinzufügen, damit die Funktion max funktioniert.

Dies scheint tatsächlich ein Fehler in FireMonkey zu sein (überprüfen Sie Quality Central # 102122 ) Ich vermute jedoch, dass ein zukünftiges FireMonkey-Update dies beheben wird. Wenn jemand einen besseren Weg sieht, dies zu tun ....

Ich habe auch machten darüber einen Film für Interessierte, der die Dinge klarer darstellt.

    
Alister 26.01.2012, 22:26
quelle
2

Das sollte funktionieren, aber es tut nichts:

%Vor%

Wenn ich dann folgendes anrufe, bekomme ich eine Zugriffsverletzung:

%Vor%

Tatsächlich gibt mir das sogar ein AV:

%Vor%

Aber das fügt natürlich eins hinzu:

%Vor%

Ein Fehler vielleicht?

    
Marcus Adams 26.01.2012 22:03
quelle
0

Anstelle von

%Vor%

verwenden

%Vor%

wobei Index die Einfügeposition ist.

(ungetestet, aber beim Lesen der Quellen sollte es funktionieren).

    
Mike Sutton 26.01.2012 21:41
quelle