Autor Beitrag
area6
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

win 2000, suse lin 9.1
d6 personal, d7, kylix3
BeitragVerfasst: Mo 24.06.02 09:57 
Hallo zusammen.

Sagt mal, wie kriege ich das hin, das auf dem geometrisch ungünstigen Trivial Pursuit - Feld jeder Ringsektor ein einzeln anklickbares Objekt ist?
Kann ich da irgendwo bei nem TImage die Form des Image der äußeren Form der Grafik anpassen (AutoSize?)? Oder muss ich da was ganz anderes benutzen, vielleicht andere Kompos drüberlegen, die OnKlick reagieren? Oder gibts da ganz andere Möglichkeiten? Fremde Komponenten habe ich keine für diese Zwecke gefunden. Und kann man eigentlich irgendwo Komponenten um einen Winkel xyz drehen?

area6, k.a.

Eigengebrauch


Zuletzt bearbeitet von area6 am Mo 24.06.02 11:50, insgesamt 1-mal bearbeitet
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 24.06.02 10:42 
Hi,

im OnMouseDown deiner Image Komponente kannst du den Punkt abfragen an dem sich die Maus befindet während geklickt wird. Jetzt must du Berechnen in welchen Feld das war.

Aber ganz generell möchte ich drauf hinweisen das du Probleme mit dem Copyright bekommen wirst wenn du die TP oberfläche verwendest oder dein Spiel sogar so nennst.
Dir kann niemand verbieten ein Ratespiel zu schreiben. Aber wenn du dich zu sehr an einer Realen vorgabe orientierst handelst du dir schwirigkeiten ein.
Wenn du z.B. dein Spielbrett eckig machtst wird auch das Berechnen des aktuell angeklickten Feldes einfacher ;)

Gruß
Klabautermann
area6 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

win 2000, suse lin 9.1
d6 personal, d7, kylix3
BeitragVerfasst: Mo 24.06.02 11:59 
oki,

1.) es ist für den alleinigen Eigengebrauch 8)
2.) habe ich noch nie was mit diesen On-irgendwas-Ereignissen gemacht, wie arbeitet man denn mit diesen Dingern?
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mo 24.06.02 13:17 
area6 hat folgendes geschrieben:
habe ich noch nie was mit diesen On-irgendwas-Ereignissen gemacht, wie arbeitet man denn mit diesen Dingern?


Oh,

das schreit nach einem Delphi-Buch (stichwort ereignissorentiert Programmierung).

Im schnellverfahren:
Dein Programm fragt nicht wie (z.B. unter DOS) üblich ständig etwas ab (polling) sondern bekommt ein Signal vom Betriebsysten (ok Interupts konnte man auch uner DOS nutzen). Nur wenn dieses ausgelöst wird machst du was auch immer zu tun ist.
Die OnXXX Methoden sind die ereignisbehandlungsmethoden. Unter DELPHI ist es recht einfach diese zu Implementieren. In deinem Fall so:

1. Plaziere deine tImage Komponente auf dem Formular wie immer.
2. Wechsele im Objektinspektor auf die Seite Ereignisse (das tImage muss auf dem Formular markiert sein).
3. Clicke doppelt auf das leere Feld hinter OnMouseFown.
Delphi erstellt dir jetzt eine Procedure mit mit vorgegebener Parameterliste die so aussieht:
ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin

end;


In diese Procedure kannst du reinprogrammieren was du willst, sie wird immer aufgerufen wenn eine Maustaste in dem Image runtergedrückt wird.
Besonders interessant für dich sind die Parameter X & Y welche die Position des Mauszeigers beim drücken der Taste angeben. Über Button kanst du überprüfen welche Maustaste gedrückt wurde.

Gruß
Klabautermann
area6 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

win 2000, suse lin 9.1
d6 personal, d7, kylix3
BeitragVerfasst: Mo 24.06.02 16:48 
Eine Antwort in Vollendung, ich danke Dir!!! :wink: