Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#8

AW: MenuItem neu zeichnen ohne ganzes Menü neu zu zeichnen

  Alt 2. Mai 2018, 10:14
if (PDis.itemAction and ODA_DRAWENTIRE) <> 0 then

und vielleicht noch etwas mit dem DC rumspielen.
GetClipBox(PDis.HDC, Rect);

Aber ohne WM_DRAWITEM geht wohl gar nichts.


gruss
Hallo EWeiss,

um ein WM_DRAWITEM manuell auszulösen benötige ich aber wenigstens das Handle des Canvas, auf dem das Menü(item) gezeichnet werden soll. Und genau das habe ich bislang nicht herausgefunden. Nächstes Problem wäre dann die genaue Position des Rect, indem das Menuitem gezeichnet werden soll. Aber das könnte ich zur not noch ausrechnen...

Viele Grüße
Stephan
hMenuWnd := WindowFromDC(PDis.HDC);
und

PDis.hwndItem
Bei dem Rect musst du gar nichts berechnen diesen gibt dir
GetClipBox zurück.. und zwar den vom selektierten HDC


gruss

Geändert von EWeiss ( 2. Mai 2018 um 10:25 Uhr)
  Mit Zitat antworten Zitat