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 Problem mit dem Wechsel des Parents (https://www.delphipraxis.net/40427-problem-mit-dem-wechsel-des-parents.html)

Guido1308 15. Feb 2005 18:46


Problem mit dem Wechsel des Parents
 
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.

sniper_w 15. Feb 2005 20:56

Re: Problem mit dem Wechsel des Parents
 
Also bei mir ist alles in Ordnung , egal ob sichtbar oder nicht.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
 var a:integer;
begin
 Randomize;
 for a:=0 to 10 do ListBox1.Items.Add(inttostr(random(199)));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Visible := False;// Panel1 ist Parent von ListBox1

Panel1.Parent := Panel2;

ListBox1.Visible := True;
end;

Guido1308 16. Feb 2005 19:06

Re: Problem mit dem Wechsel des Parents
 
Erstmal danke für deine Hilfe!

Leider Hilft mir dass nicht weiter, weil dieses Problem nicht bei allen Listen-Komponenten auftritt. Probleme hab ich bis jetzt nur bei der ListView und TreeView Komponente festgestellt.

Zitat:

Also bei mir ist alles in Ordnung , egal ob sichtbar oder nicht.
Probier es mal mit einer ListView statt einer ListBox.

sniper_w 16. Feb 2005 19:25

Re: Problem mit dem Wechsel des Parents
 
Ebenfalls kein Problem mit einer TListView Componente.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.

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