![]() |
Listview spalte ausblenden
wie kann man bei einem listview eine spalte ausblenden???
im moment hab ich width auf 0 gesetzt, ist aber natürlich keine lösung (kann man ja auch manuell im programm wieder ändern) |
Re: Listview spalte ausblenden
Mit der Breite 0 hab ich das auch mal gelöst. Und zum Verhindern der Spaltenbreitenveränderung hab ich das Listview subgeclasst und bzw. HDN_BEGINTRACKA abgefangen. Hier ist der Code für nonVCL:
Delphi-Quellcode:
Such mal hier nach
function IPLVWndProc(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: lParam):
lResult; stdcall; begin Result := 0; case uMsg of WM_NOTIFY: begin with PNMHdr(lParam)^ do begin if (code = HDN_BEGINTRACKW) or (code = HDN_BEGINTRACKA) then with PHDNotify(lParam)^ do Result := Integer(Item = 0); end; CallWindowProc(OldIPLVWndProc, hWnd, uMsg, wParam, lParam); end; else Result := CallWindowProc(OldIPLVWndProc, hWnd, uMsg, wParam, lParam); end; end; ![]() Ach so: hier wird verhindert, dass die 1. Spalte (Index 0) verändert wird. |
Re: Listview spalte ausblenden
Einerseits umständlicher (wegen neu füllen) und andererseits einfacher (weil kein Subclassing) mach ich das so:
ich lösche die Spalte aus dem Listview und schreibe die Liste neu voll, indem ich die Caption der Spalte vergleiche. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 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