Announcement

Collapse
No announcement yet.

Mauszeiger positionieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mauszeiger positionieren

    Wie kann ich beim Öffnen eines Formulars den Mauszeiger gleich auf einen Button positionieren ?

  • #2
    Mit der API-Routine <b>SetCursorPos</b> kann die Mausposition verändert werden. Übergeben werden die Mauskoordinaten in Screen-Koordinaten. Beim Umrechnen von Fenster- in Screenkoordinaten hilft die <b>ClientOrigin</b>-Eigenschaft (TWinControl).<p>
    Bsp:<br>
    <pre>
    procedure CenterCursor;
    var
    Ursprung: TPoint;
    begin
    Ursprung := Button1.ClientOrigin;
    // Mauszeiger in der Mitte von Button1 positionieren...
    SetCursor(Ursprung.x + Button1.Width div 2, Ursprung.y + Button1.Height div 2 );
    end;</pre>
    <p>
    Allerdings halte ich es in den meisten Fällen für eine nicht so gute Idee, in einen Multitasking-Betriebssystem die Mausposition durch sein eigenes Programm zu verändern.<p>
    Gruß,<br>
    Bernar

    Comment


    • #3
      Ups, Tippfehler...<p>
      statt<br>
      <pre>SetCursor(Ursprung.x + Button1.Width div 2, Ursprung.y + Button1.Height div 2 ); </pre><br>
      musst du <br>
      <pre>SetCursorPos(Ursprung.x + Button1.Width div 2, Ursprung.y + Button1.Height div 2); </pre><br>
      verwenden

      Comment


      • #4
        Danke !
        Mfg Tob

        Comment

        Working...
        X