Einzelnen Beitrag anzeigen

Zidane

Registriert seit: 9. Mai 2006
9 Beiträge
 
#6

Re: Labyrinth mit OnMouseMove

  Alt 10. Mai 2006, 21:48
Hallo,

erstmal vielen Dank für die Antworten.

Ich habe allerdings bereits von anderer Seite aus Rückmeldung erhalten, und auf das Panel verzichtet.

Nun sieht mein Code folgendermassen aus:

Delphi-Quellcode:
unit labyrinth;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Shape1: TShape;
    Shape2: TShape;
    Shape4: TShape;
    Shape5: TShape;
    Shape7: TShape;
    Shape8: TShape;
    Shape9: TShape;
    Shape10: TShape;
    Shape11: TShape;
    Shape12: TShape;
    Shape13: TShape;
    Shape3: TShape;
    Shape6: TShape;
    Image1: TImage;
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  MyText: string;
  OldX, OldY: Integer;

implementation

{$R *.DFM}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
    MyText:= '';
     if x[list=1]OldX then begin
     //ab nach rechts
     MyText:= 'Rechts/';
     end else begin
     // x bleibt
     MyText:= '-/';
     end;

     if y[list=1]OldY then begin
     // ab nach unten
     MyText:= MyText+'Runter';
     end else begin
     // y bleibt
     MyText:= MyText+'-';
     end;
     Form1.Caption:= MyText;
     OldX:= x;
     OldY:= y;
end;

end.
Ich habe nun die zuvor fehlenden Variablen deklariert und erhalte nun auch, da ich ja auf das Panel verzichte,
keine Fehlermeldung mehr.

Allerdings werden nun keinerlei Einschränkungen ausgegeben, wenn ich mich mit der Maus irgendwo hin
auf dem Formblatt bewege - die x und y Bereiche, in denen eine Meldung ausgegeben werden soll,
wenn der Mauszeiger diese überschreitet, müsste also noch festgelegt werden. Soweit ich das verstanden hab!

Oder habe ich etwa einen anderen Punkt übersehen, der mir die Fehlermeldungen ausgibt?

Danke und viele Grüße,

Zidane
  Mit Zitat antworten Zitat