现在改了一下,可以从数据库中读取区域句柄了,但是还是最后设置的一个热区显示正常,可以有清晰的手型鼠标并且有文字可以正常显示出来,而前几个设置的热区,手型指针非常不清晰,一动就变成普通的鼠标了,而且也没有文字能显示出来
Private Sub P1_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
Dim sql As String
Dim rs As ADODB.Recordset
Dim jubing
If selectflag <> 1 Then
sql = "select * from a "
Set rs = gcn.Execute(sql)
While Not rs.EOF
RgnObject1 = rs!jubing
If PtInRegion(RgnObject1, x, y) = 1 Then
Label1.ForeColor = QBColor(12)
Label1.Caption = " 进入图形热点区!!"
p1.MouseIcon = LoadPicture(App.Path & "\hmove.cur")
p1.MousePointer = 99
ElseIf flag = 1 Then
Label1.ForeColor = 0
Label1.Caption = " 没有进入图形热点区!"
p1.MousePointer = 0
End If
rs.MoveNext
Wend
将热点用数组保存。用 PtInRegion 函数轮询所有热点的 hRgn。
---------------------------------------------------------------
我现在就是搞不太清楚怎么轮巡,我现在就是用的PtInRegion来判断鼠标是否在区域内
Private Sub P1_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
If PtInRegion(RgnObject, x, y) = 1 Then
Label1.ForeColor = QBColor(12)
Label1.Caption = " 进入图形热点区!!"
p1.MouseIcon = LoadPicture(App.Path & "\hmove.cur")
p1.MousePointer = 99
ElseIf flag = 1 Then
Label1.ForeColor = 0
Label1.Caption = " 没有进入图形热点区!"
p1.MousePointer = 0
End If
End Sub
RgnObject是区域句柄,数据库中有好几个区域,怎么才能让他判断呢?