Avatar billede dl Nybegynder
29. september 2002 - 21:16 Der er 5 kommentarer og
1 løsning

Skal bruge en Funktion

Jeg har brug for en funktion der kan.

Optælle hvor langt musen har kørt på skræmen.

fx.
Du flytter musen 5 pixel et eller andet sted hen. Og så flytter du den fx tilbage til start position.

Så skal den huske de gammle antal pixel, og derefter ligge det nye antal til.

Så regn stykket se sådan ud 5+5=10 Pixel.

Håber jeg har beskrevet det godt nok.

//dl
Avatar billede well_r Nybegynder
29. september 2002 - 23:03 #1
jeg er ikke god til delphi.. men måske kan du hjælep mig med at besvare dit spm :)

kan du finde ud af hvor på skærmen musen er?
altså det der 200x31  hvis du forstår??
Avatar billede lanstorp Nybegynder
30. september 2002 - 00:29 #2
Smid en label på en form og prøv denne kode:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, math;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  SumMouseMove: extended;
  OldX,OldY,NewX,NewY: extended;
  fDX,fDY: extended;
implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  NewX := X;
  NewY := Y;
  fDX := Abs(OldX - NewX);
  fDY := Abs(OldY - NewY);
  SumMouseMove := SumMouseMove + Hypot(fDX,fDY);
  label1.Caption := FloatToStr(SumMouseMove);
  OldX := NewX;
  OldY := NewY;
end;

end.
Avatar billede dl Nybegynder
30. september 2002 - 15:42 #3
well r >>>
procedure TForm1.Button1Click(Sender: TObject);
Var
Pos: TPoint;
begin
  GetCursorPos(Pos);
  Form1.Caption := 'Cursor =  ' + IntToStr(Pos.X) + ':' + IntToStr(Pos.Y);
end;

Denne kode fortæller curserens position.

//dl
Avatar billede dl Nybegynder
30. september 2002 - 15:48 #4
lanstorp >>> Den virker som den skal, og dine 30 point er hjemme.

Men hvis nu jeg skal kunne fange musen på hele skræmen, hva så?
hvordan gør jeg det ?
( Den kode her, virker jo kun på min form. )
Avatar billede lanstorp Nybegynder
30. september 2002 - 16:16 #5
Maksimere formen eller brug Win API funktionen GetCursorPos [Lib "user32" (lpPoint As POINTAPI) As Integer] der i Delphi er mapped som procedure GetCursorPos(var P: TPoint);
Ganske som dl også skriver.
Avatar billede dl Nybegynder
30. september 2002 - 16:23 #6
ok, takker for det.
og de 30 point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester