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 Listview selected property aquivalent bei VST??? (https://www.delphipraxis.net/109795-listview-selected-property-aquivalent-bei-vst.html)

richard_boderich 7. Mär 2008 17:04


Listview selected property aquivalent bei VST???
 
Hallo zusammen!

Bei Listview gibt es das property "selected" mit dem ich den selectierten Row auch außerhalb von einem Listview Ereignis ermitteln kann. Ich habe damit die Möglichkeit z.B. im Buttonclick die Row zu ermitteln und damit an die Daten zu kommen.
Delphi-Quellcode:
TForm1.Button1click
begin
  If Listview1.selected then
    begin
     label1.caption:=listview1.selected.caption;
    end;
end;
Wie koennte ich sowas mit dem VST realisieren?

mfG Richard

sakura 7. Mär 2008 17:09

Re: Listview selected property aquivalent bei VST???
 
Recht einfach:
Delphi-Quellcode:
TForm1.Button1click
begin
  If VST.FocusedNode <> nil then
    begin
      label1.caption := PDeineNodeData(VST.GetNodeData(VST.FocusedNode))^.DeinTextFeld;
    end;
end;
...:cat:...

richard_boderich 7. Mär 2008 17:31

Re: Listview selected property aquivalent bei VST???
 
@Sakura

Danke erstmal für deinen Tipp. :) Der folgende abgewandelte Code funktioniert bei mir. Vielleicht kannst du nochmal drüberschauen.
Ich glaube dein Source bezog sich auf die Arbeit mit Records?

Delphi-Quellcode:
Label1.caption:=TOMeineDaten(vst.GetNodeData(vst.FocusedNode)^).Pfadname;
mfG Richard

sakura 7. Mär 2008 20:15

Re: Listview selected property aquivalent bei VST???
 
Zitat:

Zitat von richard_boderich
Ich glaube dein Source bezog sich auf die Arbeit mit Records?

Yepp, präferiere ich beim VST :mrgreen: Aber für Objekte ist Deine Variante auch gültig ;)

...:cat:...

richard_boderich 8. Mär 2008 13:46

Re: Listview selected property aquivalent bei VST???
 
@Sakura

Zitat:

Yepp, präferiere ich beim VST
Darf man Fragen warum? Ich arbeite eigentlich auch lieber mit Records, bin aber durch generic's Stammtisch Vortrag ermutigt
worden es mal mit Objecten zu probieren. :)

mfG Richard

sakura 8. Mär 2008 13:56

Re: Listview selected property aquivalent bei VST???
 
Zitat:

Zitat von richard_boderich
Darf man Fragen warum?

Nein :mrgreen: Na gut... ich versuche im VST meist einfach nur Pointer zu meinen bereits verwalteten Listen zu hinterlegen, dann muss ich mich nicht separat um diesen Speicher kümmern, wenn der VST aufräumt und dann evtl. noch Dinge freigeben. Ist einfach nur Geschmackssache.

...:cat:...

semo 9. Mär 2008 01:23

Re: Listview selected property aquivalent bei VST???
 
beim VST wird zwischen selected und focused unterschieden.
es kann nur ein focused node existieren, aber mehrere selected nodes.

daher musst du unterscheiden. entweder:

Delphi-Quellcode:
Label1.caption := TOMeineDaten(vst.GetNodeData(vst.FocusedNode)^).Pfadname;
oder
Delphi-Quellcode:
Node := vst.GetFirstSelected;
while Assigned(Node) do
begin
  ShowMessage(TOMeineDaten(vst.GetNodeData(vst.FocusedNode)^).Pfadname);
  Node := vst.GetNextSelected(Node);
end;
(Pseudocode - not tested in IDE)

Prototypjack 9. Mär 2008 08:34

Re: Listview selected property aquivalent bei VST???
 
Moin,

Zitat:

Zitat von M. Hassmann
Delphi-Quellcode:
Node := vst.GetFirstSelected;
while Assigned(Node) do
begin
  ShowMessage(TOMeineDaten(vst.GetNodeData(vst.FocusedNode)^).Pfadname);
  Node := vst.GetNextSelected(Node);
end;

Häh? Ich wage zu behaupten, dass bei diesem Code N-mal dieselbe Message ausgegeben wird.
Wenn du schon ein Node zum iterieren benutzt, wieso sprichst du es dann nicht auch an?
Delphi-Quellcode:
Node := vst.GetFirstSelected;
while Assigned(Node) do
begin
  ShowMessage(TOMeineDaten(vst.GetNodeData(Node)^).Pfadname);
  Node := vst.GetNextSelected(Node);
end;
Grüße,
Max

semo 9. Mär 2008 10:42

Re: Listview selected property aquivalent bei VST???
 
wie gesagt:
Zitat:

(Pseudocode - not tested in IDE)
und du hast natürlich recht.


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