Ich habe weiter getestet und komme zu dem merkwürdigen Ergebnis, dass
rectshape.contains(x,y) immer nur für diejenigen Koordianten des Fensters
true zurückgibt, die dem oberen linken Viertel des rectshapes entsprechen.
Also, hat das rectshape die Maße 100x100, dann liefert
rectshape.contains(x,y) true für alle Bildschirm-Koordianten bis 49,49,
gleichgültig, wo im Fenster das rectshape liegt.
Gibts dafür eine Idee?
beste Grüße, Christian Hahn.
--------------------------------------------------------
Window1.Open-Event:
X0 = 500
Y0 = 100
r = New RectShape
r.x = 0
r.y = 0
r.Border = 100
r.Width = 150
r.Height = 150
r.FillColor = rgb(220,220,220)
r.BorderColor = rgb(0,0,0)
r.BorderWidth = 1
Window1.Graphics.DrawObject r,X0,Y0
--------------------------------------------------------
Sub Suchen:
dim i,j as Double
dim ist as Boolean
dim tmpText as String
for i = 1 to 1000
for j = 1 to 1000
ist = r.Contains(i,j)
if ist = true then
MsgBox str(i) + ", " + str(j) + ": " + "true"
end if
next
next
----- Original Message -----
From: "Christian Hahn" <[email protected]>
To: "REALbasic NUG German" <[email protected]>
Sent: Thursday, October 14, 2010 5:04 PM
Subject: RectShape.Contains
Hallo,
ich habe ein RectShape r innerhalb eines Group2D-Objekts, im MouseDown-Event
des Fensters steht:
dim tmpText as String
tmpText = str(x) + ", " + str(y)
if r.Contains(x,y) = true then
tmpText = tmpText + " (true)"
else
tmpText = tmpText + " (false)"
end if
MsgBox tmpText
Aber auch, wenn ich in's Rechteck klicke, kommt immer nur false.
Ist das meine Doofheit oder die von Real Studio?
beste Grüße, Christian Hahn.