Autor Beitrag
firefuzy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

Win 98 SE, WinXP Prof, Vista HPrem.
Delphi 7
BeitragVerfasst: Mi 10.10.07 20:37 
Hallo!

Ich habe mal eine Frage bezüglich der Listview Komponente. Ich will eigentlich nur alle Items in eine Variable laden und (etwas später) das ganze wieder rückgängig machen. So sieht der Code dazu bisher aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
...
var
  Form1: TForm1;
  Items: TListItems;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
DateiListe, Inhalt: TStringList;
a: Integer;
begin
Items := TListitems.Create(Listview1);

Listview1.Clear;
{...}
Listview1.Items := Items;
Items.Free;
end;


Blos leider funzt der Code nicht :(
Wenn man den Button drückt wird die Listview einfach leer.

Sowas wie
ausblenden Delphi-Quelltext
1:
Caption := Items[0].Caption;					

funktioniert aber, dann erhalte ich die 1. Zelle der 1. Spalte als Caption der Form...

Ich hoffe Ihr könnt mir helfen :wink:

Greetz firefuzy
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 10.10.07 21:42 
Hallo,

teste das mal:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var  virtualListView : TListView;
     virtualListItems: TListItems;
begin
  virtualListView := TListView.CreateParented(THandle(-3));
  virtualListItems := TListItems.Create(virtualListView);
  try
    virtualListItems.Assign(ListView1.Items);

    ShowMessage(virtualListView.Items[0].Caption);
    virtualListItems.Delete(0);
    //oder virtualListView.Items.Delete(0);

    ListView1.Items.Clear;

    Listview1.Items.Assign(virtualListItems);

    finally
      virtualListItems.Free;
      virtualListView.Free;
      end;

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
firefuzy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

Win 98 SE, WinXP Prof, Vista HPrem.
Delphi 7
BeitragVerfasst: Do 11.10.07 16:38 
Hi
Vielen Dank es funktioniert. :D
Aber was bedeutet THandle(-3) in der Zeile
ausblenden Delphi-Quelltext
1:
virtualListView := TListView.CreateParented(THandle(-3));					

Wie kommt man auf die -3?
(Ich will immer gerne wissen, wie der Code funktioniert den ich in mein Projekt reinplaziere :wink: )

Bin dir auf jeden Fall sehr dankbar.

Greetz firefuzy
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Do 11.10.07 18:11 
Hallo,

user profile iconfirefuzy hat folgendes geschrieben:
Wie kommt man auf die -3?
ich benötigte mal so etwas für TTreeNodes, also suchen, suchen, suchen >> lesen, lesen ... :wink:
Dort hab ich vor kurzem ein paar Links dazu gepostet:
www.delphi-forum.de/....php?p=444734#444734

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
firefuzy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 69

Win 98 SE, WinXP Prof, Vista HPrem.
Delphi 7
BeitragVerfasst: Do 11.10.07 20:16 
Also wenn du das aus [url=msdn2.microsoft.com/...px#layout_mirroring]dem[/url] Text herausgefunden hast dann Hut ab! :flehan:
Ich konnte jedenfalls den Sinn von THandle(-3) nicht aus dem Text herausextrahieren. (ich muss den Text vielleicht wenn ich mal viiiel Zeit hab nochmal lesen...)
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Do 11.10.07 21:38 
Hallo,

die wesentlichen Informationen habe ich aus dem ersten der verlinkten Links -die Erklärungen von DP-User marabu- entnommen. Der Link in die MSDN Library diente eher zur Vertiefung der erlangten Erkenntnisse, und zwar der Abschnitt Message-Only Windows. Die dort erwähnte Konstante HWND_MESSAGE brachte dann über eine Suche in Google weitere Informationen.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )