HDN_ENDTRACK, WM_NOTIFY und die ListView


Thomas Wölfer
Thomas Wölfer

09. November 2004


Die .Net ListView bietet nicht viele der Möglichkeiten, die im darunter liegenden Win32 Gegenstück zu finden sind. Das wäre nicht weiter schlimm, wenn man per Interop oder sonstwie (in OnNotifyMessage oder WndProc) mitbekommen würde was passiert. Das ist aber auch nicht der Fall.

Will man zum Beispiel ein Control in einer Spalte der ListView unterbringen gibts ein Problem: Man bekommt keine Nachricht, wenn die Spaltenbreite verändert wird oder die Spalte an eine andere Stelle verschoben wird. Das Control bewegt sich also nicht mit.

Grund: Man braucht die HDN_ENDDRAG Nachricht die per WM_NOTIFY verschickt wird. Allerdings kommt die im .Net Control einfach nicht an, was primär daran liegt, das die .Net Header-Controls die von der Listview verwendet werden nicht besonders doll sind.

Lösung: Man braucht ein eigenes Header-Control.