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 Listview Headerhandle: Wann am besten? (https://www.delphipraxis.net/184288-listview-headerhandle-wann-am-besten.html)

Mattze 15. Mär 2015 16:01

Listview Headerhandle: Wann am besten?
 
Hi,

irgendwie klappt es nicht richtig, jedenfalls nicht wie gewünscht...

Ich leite eine eigene Listviewkomponente von TCustomlistview ab mit ein paar mehr Headermöglichkeiten ab.
Dazu brauche ich natürlich das Headerhandle.
Kein Problem: Listview_GetHeader(Listview.handle).

Nur, wo ist es am besten?
Im Create der abgeleiteten Listview - denkt man. Aber dort steht er oft noch nicht zur Verfügung.
Jedenfalls liefert Listview_GetHeader (und auch das dahinterliegende sendmessage(...)) als Ergebnis nur 0.
Später ist er da!

Da ich aber schon im OI etwas für den Header setzen will,brauche ich ihn "von Anfang an".

Woher nehmen?

Gruß
Mattze

CCRDude 16. Mär 2015 08:48

AW: Listview Headerhandle: Wann am besten?
 
Stumpf würde ich sagen:
Private Variable für das Handle
Property für den Zugriff
Getter ruft Listview_GetHeader auf, wenn Variable = 0.

Damit wäre sie zum frühstmöglichen Zeitpunkt verfügbar.
Code, der dieses Handle verwendet, muss natürlich auf 0 prüfen.

Ansonsten einfach ComCtrls.pas lesen und abschauen, wann/wie TListView darauf das erset Mal zugreift.

Mattze 16. Mär 2015 09:54

AW: Listview Headerhandle: Wann am besten?
 
Hi

und Danke!

Ist eine Idee und könnte klappen. Mal versuchen...

Gruß
Mattze

oki 16. Mär 2015 12:54

AW: Listview Headerhandle: Wann am besten?
 
Imho kann man auch die Methode CreateWnd überschreiben. Darin ein inherited und danach alle Aktionen die das Handle benötigen. Bin mir nicht sicher, ob dann das Handle des Headers da ist, das Handle der Komponente auf jeden Fall.

Gruß oki

Harybald 16. Mär 2015 13:20

AW: Listview Headerhandle: Wann am besten?
 
Jedenfalls liefert Listview_GetHeader (und auch das dahinterliegende sendmessage(...)) als Ergebnis nur 0.
Später ist er da!

oki 16. Mär 2015 15:01

AW: Listview Headerhandle: Wann am besten?
 
Auch in CreateWnd?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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