Announcement

Collapse
No announcement yet.

TLstView - wie Position und Größe von Spalten bestimmen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TLstView - wie Position und Größe von Spalten bestimmen

    Nachdem ich im Forum gesucht und nichts passendes gefunden habe, versuche ich es halt mal selbst mit einem Eintrag.

    Ich würde gerne bei Bedarf in eine die Spaltenüberschrift einer Listview ein Control z.B. Edit oder Combobox einblenden, das dann von der Größe her genau diese Spaltenüberschrift - in die z.B. reingeklickt wurde - ausfüllt.

    Ich kann mir vorstellen, dass die Lösung sehr einfach ist, aber ohne Hilfe komme ich momentan nicht weiter.

    Vorab vielen Dank für eure Hilfe.

  • #2
    Hallo,

    etwa so in OnColumnClick:
    Code:
    var z,x : Integer;
    begin
      x := 0;
      for z := Column.Index-1 downto 0 do
        begin
        x := x + ListView1.Columns[z].Width;
        end;
      x := x + ListView1.Items[0].Left;
      Edit1.left := x + ListView1.Left ;
      Edit1.Width := ListView1.Columns[Column.Index].Width;
      Edit1.Top := ListView1.Top;

    Comment


    • #3
      Erst mal Danke, aber das war's leider nicht. Ich hatte vergessen zu erwähnen, dass die Spaltenbreite sich automatisch einstellt über

      ColumnHeaderWidth -2 Column is resized to fit header only.

      Daher steht in width aber erst nach einen manuellen Manipulieren der Spaltenbreite ein der Größe entsprechender Wert drin.
      Wie bekommen ich nun aber ohne die Spaltenbreite zu verändern anstatt -2 die aktuelle Breite ?

      Comment


      • #4
        Hallo,

        also bei mir funktioniert das:
        Code:
        ListView1.Columns[0].Width := ColumnHeaderWidth;//-2
        ListView1.Columns[0].Caption := 'asjkgfhkagfgajj';
        showmessage(IntToStr(ListView1.Columns[0].WidthType));
        showmessage(IntToStr(ListView1.Columns[0].Width));
        Probleme gibt es imho wenn innerhalb Begin- EndUpdate ColumnHeaderWidth gesetzt wird.

        Comment

        Working...
        X