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 TListView.Create zur Laufzeit (https://www.delphipraxis.net/16294-tlistview-create-zur-laufzeit.html)

BenjaminHelbig 14. Feb 2004 15:05


TListView.Create zur Laufzeit
 
Hi DP'ler

ich habe folgendes Problem. Ich habe auf meinem Frame (QueryFrame) links ausgerichtet ein Memo, dann einen Splitter und dann auf align = alclient ein TabControl. Auf diesem TabControl ist ein Button positioniert. Bei klick darauf wird folgender Code ausgeführt:

Delphi-Quellcode:
const
  Names: array[0..5, 0..1] of string = (
    ('Rubble', 'Barney'),
    ('Michael', 'Johnson'),
    ('Bunny', 'Bugs'),
    ('Silver', 'HiHo'),
    ('Simpson', 'Bart'),
    ('Squirrel', 'Rockey')
    );
var
  I: Integer;
  NewColumn: TListColumn;
  ListItem: TListItem;
  ListView: TListView;
begin
  ListView := TListView.Create(Self);
  with ListView do
  begin
    Parent := Self;

    Align := alleft;
    ViewStyle := vsReport;

    NewColumn := Columns.Add;
    NewColumn.Caption := 'Field';
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Type';
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Size';

    for I := Low(Names) to High(Names) do
    begin
      ListItem := Items.Add;
      ListItem.Caption := Names[I][0];
      ListItem.SubItems.Add(Names[I][1]);
    end;
  end;
end;
Eigentlich sollte das ListView dann linksausgerichtet auf dem PageControl positioniert sein, ist es aber nicht. Es wird ganz links vom Frame ausgerichtet, dann kommt erst das memo, dann der splitter, dann das pagecontrol. Ich kapier das nicht.
Hoffe einer von Euch hat ne Idee.

Grüßle Ben

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

SirThornberry 14. Feb 2004 15:10

Re: TListView.Create zur Laufzeit
 
weil du als parent self angibst. Du musst als Parent das PageControl angeben wenn es auf dem PageControl liegen soll

BenjaminHelbig 14. Feb 2004 17:21

Re: TListView.Create zur Laufzeit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, sehe ich ein. Habe ich aber auch schon ausprobiert, habe jetzt nochmals Self durch
Form2.MainFrame1.QueryFrame1.TabControl1 ersetzt. Dann zeigt er mir es trotzdem nicht auf dem TabControl sondern gneu da wo vorhin an.
Hab den Source mal als zip angehängt.

GRüßle


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 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