ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Lock userform position (https://www.excelbanter.com/excel-programming/304567-lock-userform-position.html)

newbie

Lock userform position
 
Is it possible to lock the position of a userform to prevent users from dragging it around the screen?

Tom Ogilvy

Lock userform position
 
you can display it without the caption bar and then it can't be moved.
Download Formfun.zip from Stephen Bullen's site and it demonstrates many
options you can do with a userform. Code is accessible.

http://www.BMSLtd.ie/Excel.Default.htm

--
Regards,
Tom Ogilvy

"Newbie" wrote in message
...
Is it possible to lock the position of a userform to prevent users from

dragging it around the screen?



Michel Pierron[_2_]

Lock userform position
 
Hi Newbie,
You can test:
Private Declare Function FindWindow& Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function GetSystemMenu& Lib "user32" _
(ByVal hwnd&, ByVal bRevert&)
Private Declare Function DeleteMenu& Lib "user32" _
(ByVal hMenu&, ByVal nPosition&, ByVal wFlags&)

Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = 50: Me.Top = 90
Dim hwnd&, hSysMenu&
hwnd = FindWindow(vbNullString, Me.Caption)
hSysMenu = GetSystemMenu(hwnd, False)
DeleteMenu hSysMenu, &HF010&, &H0&
End Sub

MP

"Newbie" a écrit dans le message de
...
Is it possible to lock the position of a userform to prevent users from dragging

it around the screen?



Michel Pierron[_2_]

Lock userform position
 
Re Newbie,
Or if you prefer (to envisage a button to close the userform):
Private Declare Function FindWindowA& Lib "User32" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function SetWindowLongA& Lib "User32" _
(ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)

' Necessary button to close userform
Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Left = 50: Me.Top = 90
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hWnd, -16, &H84400080
End Sub

MP


"Newbie" a écrit dans le message de
...
Is it possible to lock the position of a userform to prevent users from dragging

it around the screen?




All times are GMT +1. The time now is 10:17 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com