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 Mehrere Buttons im TListView (https://www.delphipraxis.net/37617-mehrere-buttons-im-tlistview.html)

pickel 7. Jan 2005 22:50


Mehrere Buttons im TListView
 
Hallo,

ich bin gerade dabei Buttons in einer TListView-Spalte anzulegen und nutze derzeit folgenden Code dafür:

Code:
   
    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;
nun würde ich jedoch gerne mehrere Buttons nebeneinander anzeigen lassen, scheitere jedoch an der Lösung.

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

SirThornberry 8. Jan 2005 08:55

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

pickel 8. Jan 2005 12:02

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 :)

SirThornberry 8. Jan 2005 12:18

Re: Mehrere Buttons im TListView
 
folgendes wäre eine möglichkeit
Delphi-Quellcode:
  P2Buttons = ^T2Buttons;
  T2Buttons = record
    Btn1: TButton;
    Btn2: TButton;
  end;
[...]
L2Buttons: P2Buttons;
begin
  new(L2Buttons);
  Item.data := L2Buttons;
[...]
natürlich darfst du in dem fall dann nicht vergessen mit dispose den pointer auf den Record freizugeben wenn du das Item löschst.

pickel 8. Jan 2005 12:34

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