Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Scroll problem beim hinzufügen von komponenten in einer LV (https://www.delphipraxis.net/78758-scroll-problem-beim-hinzufuegen-von-komponenten-einer-lv.html)

mimi 10. Okt 2006 18:53


Scroll problem beim hinzufügen von komponenten in einer LV
 
Hallo,
ich füge zwei komponenten nebeneinander in eine ListView ein und wenn ich scrolle scrollen diese komponenten leider nicht mit. ich weiß einfach nicht warum.
hier ist der code:
Delphi-Quellcode:
procedure TForm1.AddListView(Code:String;Funcname:String ='';TextName:String='');
var
  cb:TCombobox;
  r:Trect;
  l:TListItem;
  ed:TEdit;
begin
  if GetListView(ListView1,code)= -1 then begin
    cb:=TCombobox.Create(Form1);
    ed:=TEdit.Create(Form1);
    with ListView1.Items.add do begin
      caption:=code;
      cb.Parent:=ListView1;
      r := DisplayRect(drBounds);
      r.left := r.Left + Listview1.columns[0].Width;
      r.right := r.Left + Listview1.columns[1].Width;
      vtop:=vtop+23;
      r.Top:=vTop;
      cb.BoundsRect := r;
      cb.Items:=funcItems;
      if Funcname <> '' then cb.ItemIndex:=cb.Items.IndexOf(funcname);
      cb.OnSelect:=ComboBox2Select;
      Data:=cb;

      Ed.Parent:=ListView1;
      r := DisplayRect(drBounds);
      r.left := r.Left + Listview1.columns[0].Width+Listview1.columns[1].Width;
      r.right := r.Left + Listview1.columns[2].Width;
      r.Top:=vTop;
      ed.BoundsRect := r;
      if TextName <>'' then ed.Text:=TextName;

      SubItems.AddObject('Dies ist ein test von heute',ed);

    end;
  end;
end;
VTOP speichert den abstand. hat einer eine idee warum die komponenten nicht mit scrollen bzw. wie ich es schaffen könnte das sie mit scrollen ?

mimi 10. Okt 2006 19:06

Re: Scroll problem beim hinzufügen von komponenten in einer
 
gelöst mit folgeden code:
Delphi-Quellcode:
procedure TForm1.ListView1DrawItem(Sender: TCustomListView; Item: TListItem;
  Rect: TRect; State: TOwnerDrawState);
begin
  sender.Canvas.TextOut(rect.Left,rect.Top,item.Caption);

  TComboBox(item.Data).Left:=rect.Left + Listview1.columns[0].Width;
  TComboBox(item.Data).Top:=rect.top;
  TEdit(item.SubItems.Objects[0]).Left:=rect.Left + Listview1.columns[0].Width+ Listview1.columns[1].Width;
  TEdit(item.SubItems.Objects[0]).Top:=rect.top;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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 by Thomas Breitkreuz