MoueDown
-
Hallo,
ich möchte bei OnMouseDown ein ContextMenuStrip öffnen!
übergebe ich bei ->show() die MouseDown Koordinaten wird das ContextMenu am Bildschirm an diesen Koordinaten angezeigt und nicht an dem Punkt wo geklickt wurde!
Gibt es eine Möglichkeit die absolute Position zu bekommen (rechnen ist sehr aufwendig weil das MouseDown auf einem UserControl erfolgt und dieses UC wieder in einem UC liegt und dieses wieder ...)LG
-
niemand eine idee???
-
Point^ absolutePos = richTextBox->PointToScreen(richTextBox.Location);
(Code nicht getestet aber er müsste so gehen...)
-
Helfender Helfer schrieb:
Point^ absolutePos = richTextBox->PointToScreen(richTextBox.Location);
(Code nicht getestet aber er müsste so gehen...)
Oh mir ist grad aufgefallen das du die mausposition willst... da musst du einfach die mauscoordinaten von der richTextBox übergeben, also ein mouse move event machen dann beim klicken es übergeben und dann müsste es funktionieren...
-
danke für die antwort aber ich weiß nicht genau wie du das meinst!
was meinst du mit mouse coordinaten von der richTextbox?
-
wie ist denn dein UserControl aufgebaut? in welchen control brauchst du die Mouseposition abfrage?
-
aufbau sieht ca wie folgt aus
-form1
-UC1
-UC1.1
-UC1.1.1
-UC1.2
-UC1.2.1
-UC2
....so in etwa kannst du dir das vorstellen! für jedes der hier als UC gekennzeichnet Elemente gibt es ein mousedown in dem ein context menu strip geöffnet wird
-
KoJack20 schrieb:
aufbau sieht ca wie folgt aus
in der form 1 liegen zwei elemente UC1 und UC2
UC1 enthält wieder die elemente UC1.1 und UC1.2
in UC1.1 bzw UC1.2 liegt wieder ein USercontroletwas blöd zu erklären aber ich hoffe du kannst du das vorstellen! für jedes der hier als UC gekennzeichnet Elemente gibt es ein mousedown in dem ein context menu strip geöffnet wird
-
habe das problem bereits gelöst!
danke für den tip mit PointToScreen
Lösung falls wieder mal jemand so ein problem hat!
Point^ abspoint = PointToScreen(e->Location); m_oContextMenuStrip->Show(abspoint->X, abspoint->Y);
e ist hierbei ein MouseEventArg