![]() |
Button in Listview funct nicht
Hi,
ich will in einer lisviewkomponente ein button darstellen. dafür benutze ich ddiesen code:
Delphi-Quellcode:
blos der button wird ca. nur eine millisecunde dargestellt. manchmal sieht man ihn deshalb nicht.
r := it.DisplayRect(drBounds);
r.left := r.Left + Listview1.columns[1].Width + listview1.Columns[0].Width; r.right := r.Left + Listview1.columns[2].Width; bt := TButton.Create(self); bt.Parent := listview1; bt.BoundsRect := r; bt.Caption := 'optionen'; bt.OnClick := optionenclick; it.Data := bt; woran könnte das liegen? ich brauche hilfe :hi: ich danke für jede hilfe |
Re: Button in Listview funct nicht
Hallo
Wo wird der Code aufgerufen? Im OnCreate oder...? Anhand deines Codeauszuges kann man nicht erkennen, warum der Button nur kurz angezeigt wird. Bitte zeige den ganzen relevanten Code. |
Re: Button in Listview funct nicht
Ich stelle mir auch noch die Frage, in welcher Spalte soll der Button angezeigt werden ?
|
Re: Button in Listview funct nicht
der button soll in der dritten spalte angezeigt werden.
und das ist die komplette prozedur:
Delphi-Quellcode:
das ist eine antwort auf einen Broadcast. Ich wollte die einzelnen spieleserver in der listview mit einem Button ergenzen, wo man die einzelnen ditails sieht.
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var bt: Tbutton; r: Trect; it: TlistItem; begin if athread.Connection.ReadLn = 'ok' then begin it := listview1.Items.add; it.Caption := athread.Connection.Socket.Binding.PeerIP; it.SubItems.add(sendtcp('gamename', idtcpclient1, athread.Connection.Socket.Binding.PeerIP)); r := it.DisplayRect(drBounds); r.left := r.Left + Listview1.columns[1].Width + listview1.Columns[0].Width; r.right := r.Left + Listview1.columns[2].Width; bt := Tbutton.Create(self); bt.OnClick := optionenclick; bt.Parent := listview1; bt.Caption := 'optionen'; it.Data := bt; end; end; |
Re: Button in Listview funct nicht
Hallo,
das geht so nicht. Sobald WM_PAINT (Paint) aufgerufen wird, überschreibt die ListView den Button wieder. Ich würde mal TVirtualStringTree nehmen. In den Bsp.-en sollte sich auch dafür schon fertiger Code befinden. Mal ein Link in etwa deiner Richtung ![]() (gefunden per Google "button in tlistview") Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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