Autor Beitrag
AMI
Hält's aus hier
Beiträge: 13


Delphi 7
BeitragVerfasst: Mi 01.03.06 10:33 
Hallo zusammen,

ich möchte wie in HTML ein Bild in mehrer Bereiche unterteilen, um dann für jeden Bereich individuell ein onClick event zu definieren.
In HTML würde es z.B. so aussehen:

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  <map name="Landkarte">
    <area shape="rect" coords="11,10,59,29" href="http://www.koblenz.de/" alt="Koblenz">
    <area shape="rect" coords="42,36,96,57" href="http://www.wiesbaden.de/" alt="Wiesbaden">
    <area shape="rect" coords="42,59,78,80" href="http://www.mainz.de/" alt="Mainz">
    <area shape="rect" coords="100,26,152,58" href="http://www.frankfurt.de/" alt="Frankfurt">
    <area shape="rect" coords="27,113,93,134" href="http://www.mannheim.de/" alt="Mannheim">
    <area shape="rect" coords="100,138,163,159" href="http://www.heidelberg.de/" alt="Heidelberg">
    <area shape="rect" coords="207,77,266,101" href="http://www.wuerzburg.de/" alt="Würzburg">
    <area shape="rect" coords="282,62,344,85" href="http://www.bamberg.de/" alt="Bamberg">
    </map>


Wie funktioniert das nun mit Delphi. TImage hat diese Funktion nicht?!

Grüße
AMI

Moderiert von user profile iconraziel: XML-Tags hinzugefügt
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mi 01.03.06 10:39 
nimm das Ereignis OnMouseMove und berechne es auf deine einzelnen Rechtecke um, die Du dir definiert hast

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Danny87
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: Mi 01.03.06 10:42 
Ich denke, OnMouseDown wäre hier besser, da es, wie OnClick, erkennt, wann eine Maustaste gedrückt wurde und
dazu, wie OnMouseMove, die X- und Y-Koordinaten speichert.


gruss daniel
Tastaro
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 414
Erhaltene Danke: 23



BeitragVerfasst: Mi 01.03.06 10:44 
Muss man selbst basteln.
TImage hat z.B. ein OnMouseUp-Ereignis, das die auch die Position der Maus mitliefert.

Beispiel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure Form1.Image1OnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   if (X=> 0) and (X <= 10) and (Y >= 0) and (Y <= 10) then
      execute_section1_click;
   if (X => 11) and (X <= 20) and (Y >= 0) and (Y <= 10) then
      execute_section2_click;
   ...
end;


Beste Grüße
Tastaro
AMI Threadstarter
Hält's aus hier
Beiträge: 13


Delphi 7
BeitragVerfasst: Mi 01.03.06 10:47 
Vielen Dank!!!

Besonders an Tastaro!

Grüße

AMI