Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS listboxitemleftdetail mit Ausrichtung links? (https://www.delphipraxis.net/179496-listboxitemleftdetail-mit-ausrichtung-links.html)

Mavarik 11. Mär 2014 08:33


listboxitemleftdetail mit Ausrichtung links?
 
Hallo FMX-Freunde...

Ich möchte einen ListboxItem Eintrag links formatieren...

listboxitemleftdetail liefert ja eine Orientierung zur Mitte.

Detail | Text

Wie kann ich das GridLayout so verschieben, das mein Text links Anfängt.
Also z.B. 100 "FMX Einheiten" nach Links.

Findresource?

Mavarik

Mavarik 11. Mär 2014 18:01

AW: listboxitemleftdetail mit Ausrichtung links?
 
Echt? Keiner ne Idee?

Union 11. Mär 2014 18:06

AW: listboxitemleftdetail mit Ausrichtung links?
 
Erstelle eine Ableitung von TPresetItemObjects. Dort kannst Du dann im constructor alles machen was Du willst. Videos, Beispiele und Source findest Du z.B. hier.

Union 11. Mär 2014 20:58

AW: listboxitemleftdetail mit Ausrichtung links?
 
Sorry, ich hatte das mit Listview verwechselt. Bei der Listbox kannst Du einfach den Style anpassen (listboxitemleftdezail.area.layout1 und 2).

Mavarik 12. Mär 2014 01:29

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Union (Beitrag 1251593)
Sorry, ich hatte das mit Listview verwechselt. Bei der Listbox kannst Du einfach den Style anpassen (listboxitemleftdezail.area.layout1 und 2).

? und wie ?

Union 12. Mär 2014 06:49

AW: listboxitemleftdetail mit Ausrichtung links?
 
Indem Du die Eigenschaft HorzTextAlign auf taLeading setzt.

Mavarik 13. Mär 2014 08:50

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Union (Beitrag 1251606)
Indem Du die Eigenschaft HorzTextAlign auf taLeading setzt.

emm... Nee

Wenn ich das mache, habe ich lediglich den Detail Text Links aber nicht den Itemtext.

Dafür müsste ich das Layout area GridLayout whatever in der Größe anpassen..

Delphi-Quellcode:
var
  LO : TLayout;
  GL : TGridLayout;
begin
  LO := StyleBook1.Style.FindStyleResource('listboxitemleftdetail') as TLayout;
  GL := LO.FindStyleResource('area') as TGridLayout;
  LO := GL.FindStyleResource('layout1') as TLayout;
  LO.Width := 10; // Exception.
  ...
end;
War natürlich auch quatsch, weil das Gridlayout das "verteilt"...

Daniel 13. Mär 2014 08:57

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zur Not umbauen auf einen TListView - dort kannst Du die Elemente frei positionieren.

Mavarik 13. Mär 2014 09:04

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Daniel (Beitrag 1251834)
Zur Not umbauen auf einen TListView - dort kannst Du die Elemente frei positionieren.

Ja das habe ich auch gerade überlegt... :stupid:
Aber ich nutze Listview so gut wie garnicht... Mal schauen..

Union 13. Mär 2014 09:22

AW: listboxitemleftdetail mit Ausrichtung links?
 
Listview ist aber auch um ein Vielfaches schneller.

Mavarik 13. Mär 2014 10:13

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Union (Beitrag 1251840)
Listview ist aber auch um ein Vielfaches schneller.

Ja Aber auch um ein vielfaches unhandlicher...

Ich nutze die Listbox eher als Container...

Und setze da meine Images, Buttons und Labels drauf...
Die Listbox an sich ist in nur 2 von 20 Fällen alleine nutzbar...

In den neueren Routinen nehme ich eine Scrollbox und setze da Rectangles drauf. Ist noch schneller!

Wie mache ich einen GroupHeader bei einer ListView?

Daniel 13. Mär 2014 10:31

AW: listboxitemleftdetail mit Ausrichtung links?
 
Der ListView kennt nur eine Liste an Items, keine Header oder dgl. - dafür kann er aber auch performant sehr, sehr viele dieser Einträge verwalten. Gedacht ist diese Komponente für Listen, da hat man ja mittendrin auch keinen Header.

Wenn Du Header, Footer und Gruppierungen benötigst, musst Du doch bei der ListBox bleiben und das Layout ggf. über Labels und dgl. realisieren, sofern sich der TListBoxItem als zu störrisch erweist, um direkte Änderungen am Layout zuzulassen.

Mavarik 13. Mär 2014 10:40

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Daniel (Beitrag 1251845)
Wenn Du Header, Footer und Gruppierungen benötigst, musst Du doch bei der ListBox bleiben und das Layout ggf. über Labels und dgl. realisieren, sofern sich der TListBoxItem als zu störrisch erweist, um direkte Änderungen am Layout zuzulassen.

Eben... Ober nervig...

Dachte das geht, wie z.B. die Kontaktliste im iOS Telefonbuch. so mit [A][B] usw. dazwischen...

Die Liste der von FMX verwendeten Komponenten wird immer kleiner, weil ich für fast alles einen besseren Ersatz bauen muss..

Grüsse Mavarik

Daniel 13. Mär 2014 12:17

AW: listboxitemleftdetail mit Ausrichtung links?
 
Naja, also einen normalen Header wie im Adressbuch bekommst Du schon hin.
TListViewItem.Purpose ist die Eigenschaft, die dafür zuständig ist.


Delphi-Quellcode:
procedure TForm1007.FormCreate(Sender: TObject);
var idx : integer;
   item : TListViewItem;
begin
  ListView1.BeginUpdate;

  for idx:= 0 to 99 do
  begin
    item:= LIstView1.Items.Add;
    item.Text := 'Item #' + IntToStr(idx);

    if idx mod 10 = 0 then
      item.Purpose := TListItemPurpose.Header;
  end;

  ListView1.EndUpdate;
end;

Mavarik 14. Mär 2014 09:23

AW: listboxitemleftdetail mit Ausrichtung links?
 
Zitat:

Zitat von Daniel (Beitrag 1251853)
Delphi-Quellcode:
procedure TForm1007

1007 lol...

Gibt es auch noch einen Trick, dass diese Zeile beim hochscrollen "hängen" bleibt und erst out of view geht,
wenn die nächste Headerzeile oben ist?

Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz