AGB  ·  Datenschutz  ·  Impressum  







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

Text unter Listvieweintrag

Ein Thema von drschubi · begonnen am 15. Mai 2006 · letzter Beitrag vom 28. Dez 2006
Antwort Antwort
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#1

Text unter Listvieweintrag

  Alt 15. Mai 2006, 13:52
Ja hallo erst mal, habe jetzt Stunden gesucht und die OH benmüht komme aber nicht weiter.

Ich habe eine TListview mit Daten gefüllt und möchte, wenn ich per Hoch/Runter-Taste scrolle, in meinen Edits die jeweils markierte Caption und Subitems angezigt bekommen. Egal wie ich es anstelle, ich bekomme eine AV.
Wenn ich einen Eintrag mit der Maus markiere funktioniert es so:
 lblid.Caption := lvshopdaten.Selected.Caption; Komme einfach nicht weiter, weiss jemand Rat?

Danke Schubi
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Text unter Listvieweintrag

  Alt 15. Mai 2006, 14:14
Hallo,

Delphi-Quellcode:
procedure TForm1.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
   label1.Caption := item.Caption;
end;
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Text unter Listvieweintrag

  Alt 15. Mai 2006, 14:18
weiß es nicht ganz genau, aber kannst Du das nicht mit dem Onchange Event lösen?

Aus der OH:

Occurs immediately after an item in the list changes.

type TLVChangeEvent = procedure(Sender: TObject; Item: TListItem; Change: TItemChange) of object;
property OnChange: TLVChangeEvent;

Description

Write an OnChange event handler to respond to changes in the list items. OnChange allows a response once the list has been successfully changed.

The Item parameter is the list item that just changed. The Change parameter indicates the type of change that just occurred. Change is ctText if the Caption property of the item changed. Change is ctImage if the ImageIndex property of the item changed or the appropriate image list changed in the list view. Change is ctState if the Cut, Focused, or Selected property of the item changed.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#4

Re: Text unter Listvieweintrag

  Alt 15. Mai 2006, 14:32
@s-off

Das hat hingehauen.

Subitems lese ich dann mit := item.SubItems[1] aus

Danke schön.
Warum steht sowas bloß nicht in der Hilfe
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Text unter Listvieweintrag

  Alt 28. Dez 2006, 15:25
Zitat von drschubi:
...
Subitems lese ich dann mit := item.SubItems[1] aus
...
Kann mal bitte jemand einen Quellcode bzw. einen Link posten, wie man an einen konkreten Eintrag in der TListView z.B. in der Spalte 3 an Position 5 kommt?
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Text unter Listvieweintrag

  Alt 28. Dez 2006, 15:32
Hier kommst du an die 5. Spalte in der 3. Zeile ("Y")

Code:
 "blindtext"

\ - 1 2 3 4

1 x x x x x
2 x x x x x
3 x x x x Y
4 x x x x x
so:

Items[2].SubItems[4] für Position "-" Items[2].Caption
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Text unter Listvieweintrag

  Alt 28. Dez 2006, 15:46
Hier noch eine kleine Gehhilfe für Einzelzugriffe:

Delphi-Quellcode:
function GetLVStr(
  lv: TListView;
  subIndex: Integer = -1; // caption addressed by negative value
  itemIndex: Integer = -1 // focused item addressed by negative value
): String;
var
  item: TListItem;
begin
  if itemIndex < 0 then
    itemIndex := lv.ItemIndex;
  if itemIndex < 0 then
    Result := 'else
  begin
    item := lv.Items[itemIndex];
    if subIndex < 0 then
      Result := item.Caption else
    if subIndex < item.SubItems.Count
      then Result := item.SubItems[subIndex]
      else Result := '';
  end;
end;
Getippt und nicht getestet.

Freundliche Grüße
  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 08:02 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