I see lots of errors in your code.
This is not tested, and I do not know much about DataBase.Code:Sub displayonmap1(id As Integer, X As Single, Y As Single) If mapshow Then If Not HasIndex(Shape1, id) Then Load Shape1(id) With Shape1(id) 'Set .Container = Pic '*** Not sure if this is need *** .Visible = True .BorderColor = vbYellow 'QBColor(id) .BackColor = vbYellow .Width = 500 'You need to identify a width/height to see it (even if Visible = True)!! Because you loaded a new control. .Height = 500 'You need to identify a width/height to see it (even if Visible = True)!! Because you loaded a new control. End With Load Label1(id) With Label1(id) 'Set .Container = Shape1(0) '*** Not sure if this is need *** .Visible = True .AutoSize = True .BackColor = vbYellow .Caption = id .FontBold = True .Width = 500 'You need to identify a width/height to see it (even if Visible = True)!! Because you loaded a new control. .Height = 500 'You need to identify a width/height to see it (even if Visible = True)!! Because you loaded a new control. End With pic_centre End If Pic.AutoRedraw = True With Shape1(id) .Move X - Shape1(0).Width / 2, -Y - Shape1(0).Height / 2 End With With Label1(id) If 0 < 10 Then .Move X + 100 - Label1(0).Width / 2, -Y - Label1(0).Height / 2 ElseIf 0 > 10 Then .Move X - 10 - Label1(0).Width / 2, -Y + 50 - Label1(0).Height / 2 End If End With End If End Sub
I'm not sure how your code is calculating (looks like a weird formula!) the position of the shapes.




Reply With Quote