Announcement

Collapse
No announcement yet.

maus bewegen mit mouse_event

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

  • maus bewegen mit mouse_event

    wie kann ich mit dem api-befehl mouse_event die maus bewegen?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    dx, dy: Integer;

    mouse_event(MOUSEEVENTF_MOVE, DWORD(dx), DWORD(dy), 0, 0);

    Das bewegt die Maus relativ. Das Absolut-Flag dazu und dx dy geben Screen-Koordinaten an

    Comment


    • #3
      hi robert,

      wenn ich die maus von der momentanen position hoch bewegen will, muss ich erst met getcursorpos die position herausbringen oder?

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Eigentlich nicht. Relative Bewegungen sind natuerlich relativ zur aktuellen Cursorposition und absolute setzen die Zielposition egal wo der Cursor vorher war.<br>
        mouse_event ist die Schnittstellenfunktion fuer Maustreiber zum System. Windows kann garnicht unterscheiden ob Du die Maus bewegst oder mouse_event aufrufst.<br>
        Der Absolute-Mode von mouse_event ist fuer Graphic-Tablets gedacht, wo der Cursor der Position des Stiftes auf dem Tablet entsprechen soll

        Comment


        • #5
          hi robert,

          kannst du mal ein beispiel machen?

          gruß

          marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment


          • #6
            Was brauchst Du denn noch? Im 1. Beispiel dy mit einem negativen Wert belegen. Ich betreibe damit eine spezielle USB-Maus und es geht wunderbar

            Comment


            • #7
              sorry, der beitrag war zunächst nicht mehr sichtbar!<br>
              mein fehler! danke!

              gruß

              marku
              Herzliche Grüße

              Markus Lemcke
              barrierefreies Webdesign

              Comment


              • #8
                Hallo Markus,

                das Projekt JEDI (http://www.delphi-jedi.org/) stellt in seiner FreeWare-Komponentensammlung JvPack die Komponente <b>TJvMousePositionner</b> zur Verfügung, mit der man den Mauscursor frei verschieben kann. Sogar ein Beispielprojekt wird mitgeliefert:
                <pre>
                unit fMouse;
                interface
                uses
                Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
                StdCtrls, Spin, JvMousePositionner;
                type
                TForm1 = class(TForm)
                JvMousePositionner1: TJvMousePositionner;
                GroupBox1: TGroupBox;
                GroupBox2: TGroupBox;
                Button1: TButton;
                Button2: TButton;
                Button3: TButton;
                Button4: TButton;
                Button5: TButton;
                Button6: TButton;
                SpinEdit1: TSpinEdit;
                SpinEdit2: TSpinEdit;
                Button7: TButton;
                Label1: TLabel;
                Label2: TLabel;
                procedure Button7Click(Sender: TObject);
                procedure Button4Click(Sender: TObject);
                procedure Button5Click(Sender: TObject);
                procedure Button6Click(Sender: TObject);
                private
                { Private declarations }
                public
                { Public declarations }
                end;
                var
                Form1: TForm1;
                implementation
                {$R *.DFM}
                procedure TForm1.Button7Click(Sender: TObject);
                begin
                self.JvMousePositionner1.ExecuteEx(Point(self.spin edit1.value,self.spinedit2.value));
                end;
                procedure TForm1.Button4Click(Sender: TObject);
                begin
                self.JvMousePositionner1.Control:=Button1;
                self.JvMousePositionner1.Execute(100,10);
                end;
                procedure TForm1.Button5Click(Sender: TObject);
                begin
                self.JvMousePositionner1.Control:=Button2;
                self.JvMousePositionner1.Execute(100,10);
                end;
                procedure TForm1.Button6Click(Sender: TObject);
                begin
                self.JvMousePositionner1.Control:=Button3;
                self.JvMousePositionner1.Execute(100,10);
                end;
                end.
                </pre&gt

                Comment

                Working...
                X