Einzelnen Beitrag anzeigen

Guido1308

Registriert seit: 15. Feb 2005
2 Beiträge
 
#1

Problem mit dem Wechsel des Parents

  Alt 15. Feb 2005, 18:46
Hallo,

ich habe ein Problem mit dem Wechsel des Parents eines Panels, in dem sich eine ListView befindet. Wenn die ListView während des "Parentwechsels" auf visible False gesetzt ist, dann "verliert" sie alle ihre Items. Setzt man sie anschließend auf visible true, sind sie zwar alle wieder da, allerdings würde ich gerne wissen, ob man das vielleicht vorher schon abfangen kann. Mir ist klar, dass ich das Problem verhindern kann, indem ich die ListView auf visible true lasse, ich möchte aber wissen, warum dieses Problem in dieser Konstellation der Eigenschaften auftritt.

Hier ist der Beispiel Source Code (vereinfacht) - Delphi 7:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    ListView1: TListView;
    Button1: TButton;
    ListView2: TListView;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Counter: Integer;

begin

  ListView1.Visible:=False;

  Panel2.Parent:=Panel1;

  For Counter:=0 To ListView1.Items.Count-1 Do
    Begin
      ListView2.Items.Add();
      ListView2.Items[Counter]:=ListView1.Items[Counter];
    end;


end;

end.

Kennt jemand von euch dieses Problem, ist es vielleicht ein Bug in der ListView-Komponente? Bei anderen Komponenten, wie TEdit oder TComboBox tritt dieser "Effekt" nicht auf.
  Mit Zitat antworten Zitat