AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DelphiX - Bild - OnClick...
Thema durchsuchen
Ansicht
Themen-Optionen

DelphiX - Bild - OnClick...

Ein Thema von Ricane · begonnen am 20. Jan 2004 · letzter Beitrag vom 20. Jan 2004
Antwort Antwort
Benutzerbild von Ricane
Ricane

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

DelphiX - Bild - OnClick...

  Alt 20. Jan 2004, 16:40
Moin,

habe ein Problem mit den von mir erstellten Bildern... Also, ich erstelle mit folgendem Code ein Bild, welches ich dann anzeige.

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

  TMenuItems = Class(TImageSprite)
  End;

Var
  NeuesSpiel: TMenuItems;

  [...]

  NeuesSpiel := TMenuItems.Create(frmStart.DxSpriteEngine1.Engine);
  NeuesSpiel.Image := frmStart.DXImageList1.Items.Find('NeuesSpiel');
  NeuesSpiel.Height := NeuesSpiel.Image.Height;
  NeuesSpiel.Width := NeuesSpiel.Image.Width;
  NeuesSpiel.Visible := True;
  NeuesSpiel.X := 280;
  NeuesSpiel.Y := 170;
  NeuesSpiel.Z := 3;
Das Bild ist auch sichtbar, kein Problem; aber wie weise ich diesem Bild denn jetzt ein OnClick Ereignis zu?!

Jemand eine Idee?


Danke und Gruss,

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

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#2

Re: DelphiX - Bild - OnClick...

  Alt 20. Jan 2004, 17:12
Die DXDraw Fläche hat eine Methode OnClick. Diese Methode gibt per X und Y die Position des Mauszeigers zurück, und die Position des Mauszeigers kannst du mit der des "Bildes" überprüfen!
  Mit Zitat antworten Zitat
Benutzerbild von Ricane
Ricane

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

Re: DelphiX - Bild - OnClick...

  Alt 20. Jan 2004, 17:36
An die Lösung habe ich auch gedacht, aber gibt es wirklich keine bessere Lösung?

Na ja, dann muss ich es wohl auf die Weise machen...


Grüsse und Danke,

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

www.RicaneSoftware.de
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz