Einzelnen Beitrag anzeigen

Benutzerbild von Ricane
Ricane

Registriert seit: 21. Mär 2003
Ort: Quickborn
170 Beiträge
 
Delphi 7 Architect
 
#4

Re: DelphiX - Bild - OnClick...

  Alt 20. Jan 2004, 20:24
Ich habe eine bessere Lösung gefunden, die um einiges übersichtlicher ist...

Als erstes braucht man einen "Ersatz - Cursor" dem man ganz normal als Sprite erstellt.
Dazu natürlich noch die ganzen Sprites die man anklicken möchte...

Jetzt erstellt man für den Cursor - Sprite die Standard Kollisionsabfrage. Wenn dann der Cursor mit einem "klickbarem" Sprite kollediert, setzt man einfach einen best. Wert in eine best. Var.

In der OnClick Methode des DxDraw Steuerlements fragt man diese Var nun wieder ab und fertig ist der Spass
Hier noch mal ein paar Fetzten Source Code dafür...

Delphi-Quellcode:
  Private
    { Private-Deklarationen }
  Public
    { Public-Deklarationen }
  End;

  TMenu = Class(TImageSprite)
  End;

  TCursor = Class(TImageSprite)
    Procedure DoMove(MoveCount: Integer); Override;
    Procedure DoCollision(Sprite: TSprite; Var Done: Boolean); Override;
  End;

Var
  GeheZu: TMenu;
  Einkaufen: TMenu;
  Verkaufen: TMenu;
  ECursor: TCursor;
  WasIstAktiv: String;


  [...]


Procedure TfrmMain.FormCreate(Sender: TObject);
Begin

  // Blendet den Cursor aus.
  Screen.Cursor := -1;

End;

Procedure TCursor.DoMove(MoveCount: Integer);
Begin

  Collision;

End;


Procedure TCursor.DoCollision(Sprite: TSprite; Var Done: Boolean);
Begin

  If Sprite = GeheZu Then WasIstAktiv := 'GeheZu';
  If Sprite = Einkaufen Then WasIstAktiv := 'Einkaufen';
  If Sprite = Verkaufen Then WasIstAktiv := 'Verkaufen';

End;

Procedure TfrmMain.DXDraw1Click(Sender: TObject);
Begin

  If WasIstAktiv = 'GeheZuThen
  Begin

  End;

End;

Hoffe das hat jemanden geholfen...



Grüsse,

Ricane
Hendrik
So much to Code... so less Time....

www.RicaneSoftware.de
  Mit Zitat antworten Zitat