Autor Beitrag
koarlheinz
Hält's aus hier
Beiträge: 5


D7 Ent
BeitragVerfasst: Do 13.01.05 23:45 
Ich habe eine Bitmap in ein Imagefeld geladen.
Jetzt möchte ich aber einen Teil (Rechteck) farbig markieren wenn ich mit der Maus
auf diesen klicke und dabei einen Sound abspielen.

Jetzt die Frage ist:

Kann ich die Koordinaten des zu markierenden Rechtecks in eine Variable, Array oder sonst was schreiben, dass ich dies dann mit dem Sound einfacher kombinieren kann.

Wenn jemand einen Vorschlag hat oder weiß wie es geht, wäre ich sehr froh wenn mir dieses Wissen übermittelt werden würde. :wink:


MfG koarlheinz
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 14.01.05 00:26 
@Rechteck: Ja, ist möglich.

Seien PX und PY die Koordinaten relativ zu deinem Image, so kannst du mit:
ausblenden Delphi-Quelltext
1:
If (PX >= Rect.Left) and (PX <= Rect.Right) and (PY >= Rect.Top) and (PY <= Rect.Bottom) Then PlayDeinenSound;					

abfragen, ob die Mouse in dem besagten Rechteck ist.

Was hat der Titel mit der eigentlichen Frage gemein? "Maus in Rechteck" würde IMHO besser passen. Oder brauchst du zum markieren des Bereichs noch Hilfe? (TIPP: Geht über Canvas.Brush.Style bzw. Canvas.Pen.Style in einem der OR-Modi in Kombination mit Canvas.Draw).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
koarlheinz Threadstarter
Hält's aus hier
Beiträge: 5


D7 Ent
BeitragVerfasst: Fr 14.01.05 12:04 
Also ich will das bei meinem virtuellkeyboard anwenden, und da wäre es besser wenn ich die Koordinaten jeder Taste in einem Array, Record oder ähnlichem hätte, damit ich diese einfacher ansprechen kann.

Die Tasten sind in ein Bitmap gezeichnet und sollen auf Mausklick angewählt werden zum farblichen markieren und zum Abspielen eines Tones.


MfG koarlheinz
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: Fr 14.01.05 12:39 
An der Stelle kannst du das sogar noch etwas anders machen. Wenn die Tasten nicht unbedingt sehr grafisch sind könntest du sie per Hand zeichnen. Sind ja nur weiße und schwarze Vierecke. Und dann kannst du auch einfach gedrückte Tasten anders darstellen. Falls die Tasten grafisch aufwendig sind könntest du dir ein Bild von jedem Tasten Typ (Weiß / Schwarz) anlegen. Dieses zeichnest du dann entsprechend häufig nebeneinander. Wenn sie Gedrückt sind zeichnest du dann entsprechend ein anderes Bild. Wenn du das ganze in ein Zwischenbild zeichnest und nach fertigem Zeichnen nur dieses dann auf den Bildschirm zeichnest kannst du das alles auch vollkommen ohne flackern etc. darstellen.
Das "ständige" neu zeichnen deines Keyboard hätte den Vorteil, dass du dich um teilweise verdeckte Tasten kümmern musst. Die würden ja dann von den Schwarzen übermalt werden. Wenn du zu erst die Weißen dann die Schwarzen zeichnest. Versteht sich.

Um die Tasten abzulegen würde ich wohl auch ein Array empfehlen. Es gibt ein Record namens TRect. Das beinhält bereits alle Felder für einen rechteckigen Bereich. So wie in BenBE's Beispiel.

_________________
Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.