在FRAME中画几个圆,要求双击这些圆可以弹出各自的属性窗口
....完全没思路...先谢谢大家

解决方案 »

  1.   

    算坐标
    POINT.X POINT.Y  在范围就认为OK
    Private Sub Form_DblClick()
    if CurrentX >....... and me.CurrentY >......
    End Sub
      

  2.   

    在Form的mouseup事件处理函数中判断鼠标位置是否你所画的圆的范围内,是则调用你的函数
    前提是你画圆时要用个全局变量记录每个圆的位置参数等,以便你判断
      

  3.   

    这个问题是较为简单的,只是学会使用mouse_down,mouse_up二个事件处理就可以了。即要知道这二个事件中各个参数的含义。
      

  4.   

    Option Explicit
    Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal X As Long, ByVal Y As Long) As Long
    Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Private mlngRg As Long
    Private Sub Form_Load()
     Me.ScaleMode = vbPixels
     Me.AutoRedraw = True
     Dim X1 As Long, Y1 As Long, X2 As Long, Y2 As Long
     X1 = 100: X2 = 200
     Y1 = 50: Y2 = 150
     Ellipse Me.hdc, X1, Y1, X2, Y2
     mlngRg = CreateEllipticRgn(X1, Y1, X2, Y2)
    End SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If PtInRegion(mlngRg, X, Y) = 0 Then
            MsgBox "不在范围内"
        Else
            MsgBox "在范围内"
        End If
    End Sub