|
| Q: TListView Fra : Peter |
Dato : 12-01-01 20:45 |
|
Hej!
Jeg har aldrig fået taget mig sammen til at sætte mig ind i TListView's
virkemåde, men nu skal det være (da jeg faktisk har brug for det).
I Delphi er der følgende eksempel:
---8<---
procedure TForm1.FormCreate(Sender: TObject);
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 := alClient;
ViewStyle := vsReport;
NewColumn := Columns.Add;
NewColumn.Caption := 'Last';
NewColumn := Columns.Add;
NewColumn.Caption := 'First';
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;
---8<---
Desuden har jeg 2 labels på min form: label1 & label2
Mit spørgsmål er så:
Hvordan får jeg udfyldt hhv. label1 & label2 med efternavn og fornavn, på
den linie i ListView1 som jeg klikker på?
Jeg har boxet med det i 2 dage nu men jeg fatter intet! Hvordan tilgår jeg
de strenge som lægges ind i linien.
Hvis du også har et link, som beskriver den basale virkemåde af TListView,
vil jeg blive meget glad.
Alt det andet med Objekter, iconer og hvad ved jeg, tager jeg senere. (Man
skal kravle førend man kan gå)
mvh og på forhånd tak
Peter
| |
Harald Kroning (12-01-2001)
| Kommentar Fra : Harald Kroning |
Dato : 12-01-01 21:08 |
|
Hej
Jeg går ud fra at du smider en ListView ind i din form under design. Du kan
så bruge OnSelectItem i Object Inspector og skrive følgende kode i denne
event:
procedure TForm1.ListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if Selected then
begin
label1.Caption:=Item.Caption;
label2.Caption:=Item.SubItems[0];
end;
end;
Hvis du først opretter en ListView i din FormCreate skal du lige tilføje
denne linie i FormCreate:
ListView.OnSelectItem:=ListViewSelectItem;
og så manuelt oprette ovenstående ListViewSelectItem procedure.
MVH HK
"Peter" <pasbo@nospam.dk> skrev i en meddelelse
news:P8J76.87$Nq5.16861@news000.worldonline.dk...
> Hej!
>
> Jeg har aldrig fået taget mig sammen til at sætte mig ind i TListView's
> virkemåde, men nu skal det være (da jeg faktisk har brug for det).
> I Delphi er der følgende eksempel:
> ---8<---
> procedure TForm1.FormCreate(Sender: TObject);
> 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 := alClient;
> ViewStyle := vsReport;
> NewColumn := Columns.Add;
> NewColumn.Caption := 'Last';
> NewColumn := Columns.Add;
> NewColumn.Caption := 'First';
> 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;
> ---8<---
> Desuden har jeg 2 labels på min form: label1 & label2
> Mit spørgsmål er så:
> Hvordan får jeg udfyldt hhv. label1 & label2 med efternavn og fornavn, på
> den linie i ListView1 som jeg klikker på?
> Jeg har boxet med det i 2 dage nu men jeg fatter intet! Hvordan tilgår jeg
> de strenge som lægges ind i linien.
>
> Hvis du også har et link, som beskriver den basale virkemåde af TListView,
> vil jeg blive meget glad.
>
> Alt det andet med Objekter, iconer og hvad ved jeg, tager jeg senere. (Man
> skal kravle førend man kan gå)
>
> mvh og på forhånd tak
> Peter
>
| |
FePe (13-01-2001)
| Kommentar Fra : FePe |
Dato : 13-01-01 00:07 |
|
Peter wrote:
>
> Hvis du også har et link, som beskriver den basale virkemåde af TListView,
> vil jeg blive meget glad.
>
Se på udvikleren.dk under artikler. Der er en artikel om TListView:
http://www.udvikleren.dk/vis_artikel.php?id=30
--
Mvh. FePe
MONICA: "I figured out I need to charge
seventeen bucks a jar just to break even.
So, I've got a new plan now. Babies."
CHANDLER: "Well, your gonna need much bigger jars."
The One With The Jam (303)
| |
Peter (13-01-2001)
| Kommentar Fra : Peter |
Dato : 13-01-01 02:18 |
|
"FePe" <fepe@klog.dk> skrev i en meddelelse
news:3A5F8E12.B1B03C20@klog.dk...
> Se på udvikleren.dk under artikler. Der er en artikel om TListView:
>
> http://www.udvikleren.dk/vis_artikel.php?id=30
>
Det var et ordenlig skub du gav mig der - i den rigtige retning
Takker
mvh Peter
| |
|
|