Thema: Delphi Control neu zeichnen?

Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Control neu zeichnen?

  Alt 4. Mai 2005, 09:07
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat