Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

(NonVCL) ListView Ownerdraw Column Index

  Alt 23. Feb 2017, 08:38
Wie komme ich in Report View an den Column Header Index wenn ich mit der Maus drüberfahre.

Delphi-Quellcode:
    WM_MOUSEMOVE:
      begin
        DC := GetDC(WinHandle);
        HeaderItemCount := Header_GetItemCount(WinHandle);
        for HeaderItem := 0 to HeaderItemCount - 1 do
        begin
          if (HeaderItem = Header_GetFocusedItem(WinHandle)) then
          begin
            try
              GdipCheck(GdipCreateFromHDC(DC, Graphics));
              Header_GetItemRect(WinHandle, HeaderItem , @HeaderItemRect);

              SkinEngine.PaintButton(Graphics, 3, ImgBack, HeaderItemRect.Left, HeaderItemRect.Top,
                HeaderItemRect.Right, HeaderItemRect.Bottom, BS_PUSHBUTTON);
            finally
              if Graphics <> 0 then
                GdipCheck(GdipDeleteGraphics(Graphics));
            end;
          end;
        end;
        ReleaseDC(WinHandle, DC);
      end;
Header_GetFocusedItem schlägt im Report View (MultiSelect) schon bei 0 an egal wo ich mich gerade auf dem Header befinde.
Ich benötige den Index einmal zum zeichnen und zum Sortieren der Liste.

ListView_GetColumn funktioniert auch nicht im Report View. (MultiSelect)

gruss

Geändert von EWeiss (23. Feb 2017 um 08:47 Uhr)
  Mit Zitat antworten Zitat