Contextmenu für static-controls



  • Ich schreibe Berechnungsergebnisse in static-controls. Mit einem rechten Mausklick soll der Anwender nähere Erläuterungen anfordern können. Hierzu setze ich WM_CONTEXTMENU ein und lese (HWND)wParam => ChildWindow, pt.xpos => LOWORD(lParam), pt.ypos => HIWORD(lParam) aus. Soweit ales ok. Nur bekomme ich keine Übereinstimmung der über ChildWindowFromPoint mit denen aus GetDlgItem() und kann damit den Mausklick nicht zuordnen. Auch unterscheiden sich die ermittelten (Screen-)Positionen pt.xpos, pt.ypos von den Festlegungen der static-controls.


  • Mod

    Ohne SS_NOTIFY Stil geht das nicht. Ein normales Static Control ist für Mausklicks transparent, d.h. gibt auf WM_NCHITTEST HTTRANSPARENT zurück...



  • Das läuft mit SS_NOTIFY leider auch nicht ordentlich. Ich bekomme einen Haufen Meldungen zurück, mit denen nichts richtig anzufangen ist. Ich habe es ohne SS_NOTIFY gelassen und vergleiche unter WM_CONTEXTMENU (nur je 1 Meldung pro Mausklick) mit den Positionen left/top und right/bottom aus GetWindowRect() der static-controls. Da scheint es die gewünschten Übereinstimmungen zu geben. Der Rest ist Routinearbeit.

    Danke - Frage wohl gelöst!


Anmelden zum Antworten