AGB  ·  Datenschutz  ·  Impressum  







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

Button in Listview funct nicht

Ein Thema von IIIMADDINIII · begonnen am 27. Jan 2010 · letzter Beitrag vom 28. Jan 2010
Antwort Antwort
IIIMADDINIII
(Gast)

n/a Beiträge
 
#1

Button in Listview funct nicht

  Alt 27. Jan 2010, 19:31
Hi,

ich will in einer lisviewkomponente ein button darstellen. dafür benutze ich ddiesen code:

Delphi-Quellcode:
  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;
blos der button wird ca. nur eine millisecunde dargestellt. manchmal sieht man ihn deshalb nicht.

woran könnte das liegen?
ich brauche hilfe

ich danke für jede hilfe
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Button in Listview funct nicht

  Alt 28. Jan 2010, 05:47
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.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

Re: Button in Listview funct nicht

  Alt 28. Jan 2010, 07:38
Ich stelle mir auch noch die Frage, in welcher Spalte soll der Button angezeigt werden ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
IIIMADDINIII
(Gast)

n/a Beiträge
 
#4

Re: Button in Listview funct nicht

  Alt 28. Jan 2010, 08:01
der button soll in der dritten spalte angezeigt werden.

und das ist die komplette prozedur:

Delphi-Quellcode:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  bt: Tbutton;
  r: Trect;
  it: TlistItem;
begin
  if athread.Connection.ReadLn = 'okthen
  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;
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.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Button in Listview funct nicht

  Alt 28. Jan 2010, 08:48
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
1

(gefunden per Google "button in tlistview")


Heiko
Heiko
  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 21: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