Hotspots in TImage (Borland C++ Builder)

Tasm-Devil

Erfahrenes Mitglied
Jo. Also ich habs in nem anderen Thread schon angesprochen. UNd zwar brauche ich Hotspots in einem Bild. Ich hab mich im Netz mal umgeschaut. Da gibt es ActivX sachen, aber die kosten was.

Und wenn es nich anders geht, dann will ich das mit GetCursorPos() machen.

Ich hab das hier schon geschrieben:

Code:
 void __fastcall TForm1::Timer1Timer(TObject *Sender)
 {
 POINT pt;
 GetCursorPos(&pt);
 Label2->Caption = pt.x;
 Label3->Caption = pt.y;
 POINT a;
 a.x = pt.x - Image1->Left - Form1->Left;
 a.y = pt.y - Image1->Top - Form1->Top;
 Label6->Caption = a.x;
 Label7->Caption = a.y;
 
 RECT b;
 b.left = Form1->Left + Image1->Left;
 b.right = Form1->Left + Image1->Left + Image1->Width;
 b.top = Form1->Top + Image1->Top;
 b.bottom = Form1->Top + Image1->Top + Image1->Height;
 ClipCursor(&b);
 
 }

Die sache mit ClipCursor() könnt ihr außer acht lassen. das hab ich nut zum test gemacht.

Jetzt hab ich ein Problem, und zwar die Höhe der Titelleiste. Die is ja seit WinXp nich mehr die gleiche. Denn die Höhe muss ich ja noch addieren. Und natürlich den Fensterrahmen Links.

Kann mir einer helfen? Oder weiß einer ne alternative?
 
ok die 00 Position hab ich schon mal

Code:
 void __fastcall TForm1::Timer1Timer(TObject *Sender)
 {
 POINT pt, a;
 
 GetCursorPos(&pt);
 Label2->Caption = pt.x;
 Label3->Caption = pt.y;
 
 a.x = pt.x - Image1->Left - Form1->Left - 3;
 a.y = pt.y - (Image1->Top + Form1->Top) - (Form1->Height - Form1->ClientHeight) +3;
 Label6->Caption = a.x;
 Label7->Caption = a.y;
 }

Aber jetzt müsste ich über 100 oder evtl. über 200 Hotspots Proggen :confused: und das is assi.

Weiß einer mit zu helfen?
 
Zurück