กระทู้เก่าบอร์ด อ.Yeadram
2,326 8
URL.หัวข้อ /
URL
สอบถามเรื่อง MouseMoveครับ
พึ่งหาเว็บนี้เจอครับ หลังจากไม่ได้เขียน Accessนานแล้ว ก็เจอปัญหารบกวนท่านผู้รู้แนะนำด้วยครับ พอดีผมเขียนให้MouseMoveไปแล้วแสดงเส้นออกมา แต่เมื่อเอาMouseMoveออกเส้นไม่หายไปทำงัยครับเส้นถึงจะหายไปเมื่อเม้าส์ไม ่focusแล้ว
Private Sub Form_Load()
Me.Line1.Visible = False
Me.Line2.Visible = False
Me.Line3.Visible = False
Me.Line4.Visible = False
Me.Line5.Visible = False
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseCursor (32649&)
Me.Line1.Visible = True
End Sub
Private Sub Form_Load()
Me.Line1.Visible = False
Me.Line2.Visible = False
Me.Line3.Visible = False
Me.Line4.Visible = False
Me.Line5.Visible = False
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseCursor (32649&)
Me.Line1.Visible = True
End Sub
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R01930
ขอบคุณครับ พอดีอยากให้หน้าตามันเหมือนเว็บนครับ เวลาที่เอาเม้าส์ไปชี้แล้วเม้าส์เปลี่ยนเป็นรูปมือ เมนูขีดเส้นใต้ขึ้นมา พอเอาเม้าส์ออกเส้นหายไปเม้าส์กลายเป็นลูกศรเหมือนเดิมครับ
3 @R01933
เคยทำเรื่องนี้อยู่เหมือนกัน
แต่ชอบเกิดปัญหา mouse move วนลูปซ้ำๆ
ก็เลยลองใช้วิธี on/off
เอา code ชุดนี้ไปประยุกต์ดูครับ
Private Sub Form_Load()
VisibleLine
End Sub
Function VisibleLine(Optional LineNo As Integer)
For Each ctl In Me
If ctl.Name Like "Label?" Then
Me("Line" & Right(ctl.Name, 1)).Visible = False
ctl.OnMouseMove = "=VisibleLine(" & Right(ctl.Name, 1) & ")"
End If
Next
If LineNo Then
Me("Line" & LineNo).Visible = True
Me("Label" & LineNo).OnMouseMove = ""
End If
End Function
แต่ชอบเกิดปัญหา mouse move วนลูปซ้ำๆ
ก็เลยลองใช้วิธี on/off
เอา code ชุดนี้ไปประยุกต์ดูครับ
Private Sub Form_Load()
VisibleLine
End Sub
Function VisibleLine(Optional LineNo As Integer)
For Each ctl In Me
If ctl.Name Like "Label?" Then
Me("Line" & Right(ctl.Name, 1)).Visible = False
ctl.OnMouseMove = "=VisibleLine(" & Right(ctl.Name, 1) & ")"
End If
Next
If LineNo Then
Me("Line" & LineNo).Visible = True
Me("Label" & LineNo).OnMouseMove = ""
End If
End Function
4 @R01934
อีกทีครับเมื่อกี๊ลืม Mouse Move ของ Form Detail
Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
VisibleLine
End Sub
Private Sub Form_Load()
VisibleLine
End Sub
Function VisibleLine(Optional LineNo As Integer)
For Each ctl In Me
If ctl.Name Like "Label?" Then
Me("Line" & Right(ctl.Name, 1)).Visible = False
ctl.OnMouseMove = "=VisibleLine(" & Right(ctl.Name, 1) & ")"
End If
Next
Me.Detail.OnMouseMove = "[Event Procedure]"
If LineNo Then
Me("Line" & LineNo).Visible = True
Me("Label" & LineNo).OnMouseMove = ""
Else
Me.Detail.OnMouseMove = ""
End If
End Function
Private Sub Detail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
VisibleLine
End Sub
Private Sub Form_Load()
VisibleLine
End Sub
Function VisibleLine(Optional LineNo As Integer)
For Each ctl In Me
If ctl.Name Like "Label?" Then
Me("Line" & Right(ctl.Name, 1)).Visible = False
ctl.OnMouseMove = "=VisibleLine(" & Right(ctl.Name, 1) & ")"
End If
Next
Me.Detail.OnMouseMove = "[Event Procedure]"
If LineNo Then
Me("Line" & LineNo).Visible = True
Me("Label" & LineNo).OnMouseMove = ""
Else
Me.Detail.OnMouseMove = ""
End If
End Function
5 @R01935
ลองดู
6 @R01936
ลองอีกที
7 @R01937
8 @R01943
ขอบคุณ คุณแดนครับ บรรยากาศเหมือนเว็บ อ.สุภาพเดิมเลยครับ
Time: 0.2661s
แต่ถ้าไม่มีความจำเป็นจะต้องแสดง/ไม่แสดงเส้นต่างๆที่ว่า หรือเลี่ยงการใช้ MouseMove event ได้ก็จะดีครับ เพราะมันจะก่อให้เกิด event เต็มไปหมดจนอาจรบกวนการทำหลักๆ หรือถ้าเขียนโปรแกรมเพื่อควบคุมไม่ดี เส้นมันก็จะกระพริบแวบๆๆๆๆ ตลอดเวลา