Problem mit GetCursor() - Methode bei 2 Bildschirmen



  • Hat jemand Erfahrungen oder Lösungsvorschläge für die GetCursor() - Methode, wenn ich mit 2 Bildschirmen arbeite. Das Ergebnis der normalen etCursor() - Methode liefert mir keine absoluten Ergebnisse, sondern immer nur relativ, d.h. bezogen auf den Bildschirm, auf dem das Hauptformulare zum Erstellungszeitpunkt liegt. D.h. wenn ich das aufrufende Formular bei der Erstellung auf dem Bildschirm 2 habe und ich klicke zur Laufzeit auf den 1. Bildschirm und möchte das Formular an der angeklickten Cursorposition öffnen, erscheint es entsprechend auf dem 2. Bildschirm - soll es aber nicht. GetCursorPos() liefert z.B. für die x - Koordinate 1540 obwohl ich auf den ersten Bildschirm geklickt habe und irgendetwas unter 1200 erhalten müsste ..??!!



  • schau dir mal das Ergebnis von Mouse->CursorPos an



  • Danke für den Tip .. bringt aber das gleiche (falsche) Ergebnis. Habe aber eine Lösung gefunden:
    man muß über TScreen die Monitoranzahl MonitorCount auswerten und dann entsprechend reagieren, z.B. von CursorPos evtl. Monitorbreite abziehen -> negativer Wert -> 1. Bildschirm:

    if(Screen->MonitorCount > 1)
    iLeft = pCursor.x - Screen->Monitors[0]->Width - formMenue->Width;


Log in to reply