Wenn ich das gleiche MouseMove Ereignis auch auf dem Zielscheibenbild mache, dann wird das Zielkreuz an eine falsche Position bewegt!
Code (MouseMove Ereignis auf dem Panel):
Delphi-Quellcode:
procedure TSDIAppForm.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image3.Left:=X-round(Image3.Width/2);
Image3.Top:=Y-round(Image3.Height/2);
Application.ProcessMessages;
end;
Code (Click Ereignis auf dem ZielscheibenImage):
Delphi-Quellcode:
procedure TSDIAppForm.Image4Click(Sender: TObject);
var Temp, Temp1:Integer;
begin
Temp:=Image4.Left+Image4.Width;
Temp1:=Image4.Top+Image4.Height;
if Start=true then begin
if (Image3.Left<=Temp) and (Image3.Left>=Image4.Left) and (Image3.Top<=Temp1) and (Image3.Top>=Image4.Top) then begin
//ShowMessage('Treffer');
Punkte:=Punkte+1;
PunktePanel.Caption:='aktuelle Punktzahl: '+InttoStr(Punkte);
end;
end;
end;
PS: Das ist immoment nur ein Testprogramm der Funktionen