Im Moment zeichne ich die Pfeilchen im ColumnClick mit diesem Code:
Delphi-Quellcode:
procedure TSortListView.DrawSortImage;
var
Buf: array[0..MAX_PATH-1] of Char;
HDItem: THDItem;
begin
if not FShowSortImages then
exit;
if FHeader = 0 then
FHeader := ListView_GetHeader(Self.Handle);
HDItem.Mask := HDI_FORMAT or HDI_IMAGE or HDI_ORDER or HDI_TEXT or HDI_WIDTH;
HDItem.pszText := Buf;
HDItem.cchTextMax := SizeOf(Buf);
Header_GetItem(FHeader, FLastSorted, HDItem);
HDItem.Mask := HDItem.Mask or HDI_BITMAP;
HDItem.fmt := HDItem.fmt or HDF_BITMAP or HDF_BITMAP_ON_RIGHT;
if FSortDir = sdAscending then
HDItem.hbm := FAscImage.Handle
else
HDItem.hbm := FDescImage.Handle;
Header_SetItem(FHeader, FLastSorted, HDItem);
end;
Die Pfeile bleiben waehrend des Resizen der Columns schoen brav da wo sie hingehoeren, und werden auch mitgeschoben, aber sobald ich mit dem Resizen aufhoere, wird anscheinend der Header neu gezeichnet und das Pfeilchen ist weg.
Greetz
alcaeus