Seltsam, ich versuche, auf HDN_BEGINTRACK eines Listview-Headers zu reagieren, das Event tritt aber anscheinend nie auf.
So fange ich das Event ab...
Delphi-Quellcode:
WM_NOTIFY:
with PNMHdr(lParam)^ do
begin
//falls es das Listview war...
if hWndFrom = hIncIPView then
begin
case code of
//Item wurde ausgewählt
LVN_ITEMACTIVATE:
//Spaltengröße wird geändert
HDN_BEGINTRACK:
begin
with PHDNotify(lParam)^do
begin
ShowErrorMsg('', '', hWnd); //Kontrollanzeige (wird nie angezeigt)
if Item = 0 then Result := lResult(True);
end;
end;
end;
end;
end;
... und so erzeuge ich das ListView:
Delphi-Quellcode:
//Listview erzeugen und initialisieren
hIncIPView := CreateWindowEx(WS_EX_CLIENTEDGE, 'SysListView32', nil,
WS_VISIBLE or WS_CHILD or LVS_REPORT or LVS_SINGLESEL, 15, 40, 570,
400, hWnd, IDC_INCIPVIEW, hInstance, nil);
SendMessage(hIncIPView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
LVS_EX_FULLROWSELECT or LVS_EX_SUBITEMIMAGES or LVS_EX_GRIDLINES
or LVS_EX_INFOTIP or LVS_EX_FLATSB or LVS_EX_ONECLICKACTIVATE);