AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Button in Columnheader einer Listview zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Button in Columnheader einer Listview zeichnen

Ein Thema von xineohp · begonnen am 7. Jun 2006 · letzter Beitrag vom 9. Jun 2006
Antwort Antwort
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#1

Button in Columnheader einer Listview zeichnen

  Alt 7. Jun 2006, 18:54
hi,

ich versuche gerade einen Button (bzw. ein anderes tWinControl) in den Spaltenheader einer Listview (alternativ auch VirtualTreeview) zu bekommen.
Das Problem ist, dass das anscheinend eine nonclient area ist, bzw. bei einem TVirtualStringTree sind die Header vom Typ tVTHeader was aber leider keine Nachfahre von tWinControl ist.


Gruß
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Button in Columnheader einer Listview zeichnen

  Alt 7. Jun 2006, 20:18
Hallo Peter,

vielleicht hilft dir die Enhanced ListView von Brad Stowers mit ihrem Event OnDrawHeader() weiter.

Grüße vom marabu
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Button in Columnheader einer Listview zeichnen

  Alt 7. Jun 2006, 20:28
hm, auch der VirtualStringTree hat ein onHeaderDraw Ereignis, allerdings ist der Header nicht von tWinControl abgeleitet und ich kann daher nicht einfach das Parentfeld meines Buttons setzen. (das ist die einzige Möglichkeit die ICH kenne um einen Button irgendwo draufzuzeichen; falls es eine andere gibt - was ich doch sehr hoffe - wäre ich froh wenn sie mir jemand mitteilen könnte )
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Button in Columnheader einer Listview zeichnen

  Alt 8. Jun 2006, 06:09
Du willst nicht selbst malen, sondern die Parent-Eigenschaft benutzen? Das geht natürlich - Parent ist dann ListView. Du musst dann dafür Sorge tragen, dass dein Button nach dem Neuzeichnen der Column-Header wieder nach vorne geholt wird. Standardmäßig ist jede HeaderSection selbst ein Button. Sieht bestimmt ulkig aus, dein Button auf einem anderen Button. Was hast du vor?

Grüße vom marabu
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Button in Columnheader einer Listview zeichnen

  Alt 8. Jun 2006, 09:51
Also ...

mein eigentliches Ziel ist es eine Art Rollout hinzukriegen, d.h. bei einem Klick auf den HEader einer Spalte wird dieser größer und enthüllt ein Editfeld z.B. um einen Filter zu realisieren.

Wenn ich die Listview als parent verwende ist der "Ursprung" unterhalb der Headerzeile, man muss also mit negativen Positionen arbeiten.
Und, wie hole ich mein Control wieder nach vorne?
Peter Enenkel
blubb
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#6

Re: Button in Columnheader einer Listview zeichnen

  Alt 9. Jun 2006, 09:07
.BringToFront
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  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 14:29 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