AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi (NonVCL) ListView Ownerdraw Column Index
Thema durchsuchen
Ansicht
Themen-Optionen

(NonVCL) ListView Ownerdraw Column Index

Ein Thema von EWeiss · begonnen am 23. Feb 2017 · letzter Beitrag vom 23. Feb 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

(NonVCL) ListView Ownerdraw Column Index

  Alt 23. Feb 2017, 07: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 07:47 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: (NonVCL) ListView Ownerdraw Column Index

  Alt 23. Feb 2017, 08:10
Sorry Thread war unnötig
Nach dem schreiben bin ich selber auf die Lösung gekommen.

Manchmal ist man einfach nur Blöd

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

            GetCursorPos(CurPos);
            ScreenToClient(Handle, CurPos);

            if PtInRect(HeaderItemRect, CurPos) then
            begin
              TmpRect := HeaderItemRect;
              TmpRect.Right := HeaderItemRect.Right - HeaderItemRect.Left;
              SkinEngine.PaintButton(Graphics, 4, ImgBack, TmpRect.Left, TmpRect.Top,
                TmpRect.Right, TmpRect.Bottom, BS_PUSHBUTTON);
            end;
          finally
              if Graphics <> 0 then
                GdipCheck(GdipDeleteGraphics(Graphics));
          end;
        end;
        ReleaseDC(WinHandle, DC);
      end;
gruss
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.380 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: (NonVCL) ListView Ownerdraw Column Index

  Alt 23. Feb 2017, 09:07
Sorry Thread war unnötig
Nach dem schreiben bin ich selber auf die Lösung gekommen.
Finde ich nicht. Vielleicht googelt mal einer. Und dann ist es gut dass man nicht nur das Problem findet, sondern auch die Lösung. Daher Danke für Deinen Beitrag.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: (NonVCL) ListView Ownerdraw Column Index

  Alt 23. Feb 2017, 10:23
Sorry Thread war unnötig
Nach dem schreiben bin ich selber auf die Lösung gekommen.
Finde ich nicht. Vielleicht googelt mal einer. Und dann ist es gut dass man nicht nur das Problem findet, sondern auch die Lösung. Daher Danke für Deinen Beitrag.
Ah jo

Ich habe zwar den Index nicht bekommen dafür aber den Rect.
Zum Zeichnen reicht das erst mal.
Den Index hole ich mir an anderer stelle.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz