AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listview + SubItems

Ein Thema von Piro · begonnen am 25. Nov 2004 · letzter Beitrag vom 25. Nov 2004
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Listview + SubItems

  Alt 25. Nov 2004, 15:34
Moin,

ich habe mir einen Listview gebaut, der mir SystemInformationen anzeigen soll. Die 1. Spalte repräsentiert die Kategorie und die 2. Spalte soll nun die Werte bekommen. Das Ganze soll im Ereignis FormCreate passieren. Siehe Bild.

Irgendwie kann ich die SubItems nicht ansprechen bzw. hineinschreiben. Bekomme immer einen Zugriffsfehler.

Kann mir bitte einer sagen wie man die SubItems anspricht und wie man ihnen Werte zuweist?

Danke. Sven
Miniaturansicht angehängter Grafiken
screen_202.gif  
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Listview + SubItems

  Alt 25. Nov 2004, 15:37
***** Update *****

Und wie kann ich die KategorieÜberschrift (w.z.B. Computer) weiter nach links an Icon schieben?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Listview + SubItems

  Alt 25. Nov 2004, 16:52
Hi,

SubItems sind von vom Typ TStrings. Also kannst Du damit arbeiten, wie mit einer String-Liste.

Also mit Add() einträge hinzufügen, mit Delete() löschen und mit Items[] darauf zugreifen

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Listview + SubItems

  Alt 25. Nov 2004, 17:07
Das ist ja das Problem, dass funktioniert nicht wirklich, da bekomme ich immer eine Zugriffsverletzung.

Delphi-Quellcode:
with lv_systeminfo do
 begin
   ReadOnly := false;
   Items[1].SubItems.Add('Test');
   ReadOnly := true;
 end;
Irgendwie komisch. Das kann doch nicht so schwer sein.
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Listview + SubItems

  Alt 25. Nov 2004, 17:10
Hallo, wo steht dieser code? hier kann man nur orakelen:
1. das erste items ist items[0] und nicht 1
2. auch das item muß existieren (erzeugt wurden sein), wie das geht: das ist ein Beispiel in der Hilfe.
3. das readonly setzten kannst du dir sparen.

Mf Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Listview + SubItems

  Alt 25. Nov 2004, 17:36
@Keldorn:
Schau das dir mal das Bild an. Dort siehst du das die Items schon erstellt sind. Jeetzt fehlen nur noch die SubItems, die auch schon angelegt habe (Titeltext ist bloß leer).

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
begin
 PageControl1.ActivePage.PageIndex := 0;
 StatusBar1.Panels[1].Text := datetostr(now);
 StatusBar1.Panels[2].Text := timetostr(now);
 lv_systeminfo.Items[1].SubItems[1] := 'BLA';
 FormResize(self);
end;
Er soll in die 2. Zeile(Betriebssystem) gehen und in die dazugehörige Spalte (Wertspalte) den Text 'BLA' schreiben.

Hier erscheint dann immer die Zugriffsverletzung.

Kann es eventuell sein, dass man das Listview zur Laufzeit erstellen und jedes Item und Subitem generieren muss? Dies wäre nicht so gut, da ich mir das manuelle Vorerstellen sparen kann.
Miniaturansicht angehängter Grafiken
screen_213.gif  
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Listview + SubItems

  Alt 25. Nov 2004, 18:05
ich seh da keinen Fehler. wenn die items schon existieren, gehts mit ListView1.Items[1].SubItems.add('test');

Wenn du die Möglichkeit hast, dann lad mal bitte das Projekt hoch.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Listview + SubItems

  Alt 25. Nov 2004, 18:17
Danke für die Hilfe, ich mache es jetzt mit Hilfe des Quellcodes. Ist zwar etwas aufwendig aber es geht.

Delphi-Quellcode:
function listview_erstellen: boolean;
var
 ListItem : TListItem;
begin
 with frm_main.lv_systeminfo do
 begin
   ListItem := Items.Add;
   ListItem.Caption := 'Computer';
   ListItem.StateIndex := 0;
   ListItem.ImageIndex := -1;

   ListItem := Items.Add;
   ListItem.Caption := 'Betriebssystem';
   ListItem.SubItems.Add(GetOperatingSystem);
   ListItem.ImageIndex := 1;

   ListItem := Items.Add;
   ListItem.Caption := 'Version';
   ListItem.SubItems.Add(GetVersion);
   ListItem.ImageIndex := 2;

   ListItem := Items.Add;
   ListItem.ImageIndex := -1;

...
Letzte Frage, wie bekomme ich es aber hin, dass die Kategorienamen (z.B. Computer) gleich neben dem Symbol stehen? Und nicht in der gleichen Höhe, wie die Unterpunkte.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 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