![]() |
Mehrere Buttons im TListView
Hallo,
ich bin gerade dabei Buttons in einer TListView-Spalte anzulegen und nutze derzeit folgenden Code dafür:
Code:
nun würde ich jedoch gerne mehrere Buttons nebeneinander anzeigen lassen, scheitere jedoch an der Lösung.r:=lvR.Items[lvR.Items.Count-1].DisplayRect(drBounds); r.Left:=480; r.Right:=530; bt:=TButton.Create(self); bt.Parent:=lvR; bt.BoundsRect:=r; bt.Caption:='B'; bt.OnClick:=bAction; bt.Name:='B-'+inttostr(lvR.Items.Count-1); lvR.Items[lvR.Items.Count-1].Data:=bt; Habt ihr für mich irgendwie nen Lösungsansatz? Ich dachte schon an Pointerzusammenführung, weiss jedoch nicht ob und wie es möglich ist. Greetz, Nils |
Re: Mehrere Buttons im TListView
du musst einfach nur das das "Left" property des Buttons setzen. Natürlich kannst du dann nicht wie jetzt den ersten Button über die volle breite ausdehnen. Du holst dir ja das displayRect des Items. und wenn du mehrere Buttons darstellen willst ist klar das du das DisplayRect aufteilen musst und nicht dem ersten Button einfach dieses zuordnen
|
Re: Mehrere Buttons im TListView
right ist auch nicht die volle größe. das problem ist nur, dass ich bei .data nur einen pointer angeben kann und ich nicht weiss wie ich einen 2. Button dort angeben soll :)
|
Re: Mehrere Buttons im TListView
folgendes wäre eine möglichkeit
Delphi-Quellcode:
natürlich darfst du in dem fall dann nicht vergessen mit dispose den pointer auf den Record freizugeben wenn du das Item löschst.
P2Buttons = ^T2Buttons;
T2Buttons = record Btn1: TButton; Btn2: TButton; end; [...] L2Buttons: P2Buttons; begin new(L2Buttons); Item.data := L2Buttons; [...] |
Re: Mehrere Buttons im TListView
Ah, danke!
Habs ausprobiert und es funktioniert perfekt. Vielen Dank :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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