Forms and screens
How can I make sure the edges of a form never go beyond the edge of the screen.
This permits the form edges to be hidden until the mousebutton is released. Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Userform.Left < 0 then Userform.Left = 0 If Userform.Top < 0 then Userform.Top = 0 End Sub T.I.A. Geoff |
Forms and screens
Private Sub UserForm_Layout()
If UserForm.Left < 0 Then UserForm.Left = 0 If UserForm.Top < 0 Then UserForm.Top = 0 End Sub Will need a bit more work to deal with the bottom and right edge of the screen. RBS "Geoff" wrote in message ... How can I make sure the edges of a form never go beyond the edge of the screen. This permits the form edges to be hidden until the mousebutton is released. Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Userform.Left < 0 then Userform.Left = 0 If Userform.Top < 0 then Userform.Top = 0 End Sub T.I.A. Geoff |
Forms and screens
Thank you.
I can calculate the right and bottom edges ok converting screen pixels to points etc. It was the Layout event I was unaware of. Geoff "RB Smissaert" wrote: Private Sub UserForm_Layout() If UserForm.Left < 0 Then UserForm.Left = 0 If UserForm.Top < 0 Then UserForm.Top = 0 End Sub Will need a bit more work to deal with the bottom and right edge of the screen. RBS "Geoff" wrote in message ... How can I make sure the edges of a form never go beyond the edge of the screen. This permits the form edges to be hidden until the mousebutton is released. Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Userform.Left < 0 then Userform.Left = 0 If Userform.Top < 0 then Userform.Top = 0 End Sub T.I.A. Geoff |
All times are GMT +1. The time now is 03:41 PM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com