![]() |
Wie benutze ich ein Listview?
Hallo,
ich möchte eine Prozessliste ausgeben lassen von Delphi. Hierzu wurde mir geraten ein ListView zu verwenden, da ich dort mehrere Spalten einstellen kann(aber nicht weiß wie). Derzeit verwende ich einfach mehrere Listboxen. Bisher habe ich noch nicht mit einem ListView gearbeitet und weiß nicht, wie ich dieses "ansprechen" kann. Wie kann ich Einträge bzw. meine Prozessliste in die Spalten meiner ListView eintragen lassen? Und wie kann ich Spalten einstellen und gesondert "ansprechen"? Danke im Voraus. Hier noch der Quellcode:
Delphi-Quellcode:
procedure GetProcessList(const aProcessList: TStrings); //erstellt Snapshot der Processliste
var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE)then Repeat aProcessList.Add(ProcessE.szExeFile); Until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; procedure GetProcessIDList(const aProcessList: TStrings); //erstellt Snapshot der ProcessIDliste var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE)then Repeat aProcessList.Add(inttostr(ProcessE.th32ProcessID)); Until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; procedure GetProcessThreadList(const aProcessList: TStrings); var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE)then Repeat aProcessList.Add(inttostr(ProcessE.cntThreads)); Until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; procedure GetProcessPriClassList(const aProcessList: TStrings); var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE)then Repeat aProcessList.Add(inttostr(ProcessE.pcPriClassBase)); Until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; procedure TForm1.Button1Click(Sender: TObject); begin GetProcessList(listbox1.items); GetProcessIDList(listbox2.Items); GetProcessThreadList(listbox3.items); GetProcessPriClassList(listbox4.Items); end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; procedure TForm1.Button3Click(Sender: TObject); begin listBox1.Items.Clear(); listBox2.Items.Clear(); listBox3.Items.Clear(); listBox4.Items.Clear() end; end. |
Re: Wie benutze ich ein Listview?
Im Objektinspektor der ListView gibts den Eintrag Colums. Wenn du das aufrufst dann bekommst ein kleineres Fenster in der du Spalten hinzufügen kannst.
|
Re: Wie benutze ich ein Listview?
Danke
und wie kann ich diese gesondert benutzen? |
Re: Wie benutze ich ein Listview?
TListItem.Caption enthält den Text der ersten Spalte, die weiteren sind in TListItem.SubItems.
|
Re: Wie benutze ich ein Listview?
Zitat:
So weit so gut. Und wie wendet man das im Quellcode an? Wie unterscheidet man zwischen den SubItems, ob nun Spalte 3 oder 4 beispielsweise beschrieben wird? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz