![]() |
Center Userform Controls
I am using the following code to make the userform fill the entire screen:
Private mlAppWindowState As Long Private Sub UserForm_Initialize() With Application mlAppWindowState = .WindowState .WindowState = xlMaximized Me.Move .Left, .Top, .Width, .Height End With End Sub Private Sub UserForm_Terminate() Application.WindowState = mlAppWindowState End Sub What I need is VBA to center the userform controls. Maybe I could put the controls inside a frame and I just need to the frame to center. I am not sure. But I need VBA to position the controls. Can someone get me started? -- Thanks Shawn |
Center Userform Controls
Just do something like
With Me .cmdOK.Left = .Width \ 2 - .cmdOK.Width \ 2 .cmdQuit.Left = .Width \ 2 - .cmdQuit.Width \ 2 End With in the form activate event -- HTH Bob (there's no email, no snail mail, but somewhere should be gmail in my addy) "Shawn" wrote in message ... I am using the following code to make the userform fill the entire screen: Private mlAppWindowState As Long Private Sub UserForm_Initialize() With Application mlAppWindowState = .WindowState .WindowState = xlMaximized Me.Move .Left, .Top, .Width, .Height End With End Sub Private Sub UserForm_Terminate() Application.WindowState = mlAppWindowState End Sub What I need is VBA to center the userform controls. Maybe I could put the controls inside a frame and I just need to the frame to center. I am not sure. But I need VBA to position the controls. Can someone get me started? -- Thanks Shawn |
Center Userform Controls
the controls have top, left, width and height properties as well, Just
calculate where you want them and then set those attributes. To get the middle of the form, divide the width in half and add it the left position. Subtract half the width of the control to get the left position for the control. Use logic related to that to calculate where you want you controls. -- Regards, Tom Ogilvy "Shawn" wrote: I am using the following code to make the userform fill the entire screen: Private mlAppWindowState As Long Private Sub UserForm_Initialize() With Application mlAppWindowState = .WindowState .WindowState = xlMaximized Me.Move .Left, .Top, .Width, .Height End With End Sub Private Sub UserForm_Terminate() Application.WindowState = mlAppWindowState End Sub What I need is VBA to center the userform controls. Maybe I could put the controls inside a frame and I just need to the frame to center. I am not sure. But I need VBA to position the controls. Can someone get me started? -- Thanks Shawn |
Center Userform Controls
Shawn,
There are various resizer classes out there, most designed for VB5/6 forms rather than VBA userforms, but you could edit to suit. e.g. http://www.dutchthewiz.com/vb/api/ NickHK "Shawn" ... I am using the following code to make the userform fill the entire screen: Private mlAppWindowState As Long Private Sub UserForm_Initialize() With Application mlAppWindowState = .WindowState .WindowState = xlMaximized Me.Move .Left, .Top, .Width, .Height End With End Sub Private Sub UserForm_Terminate() Application.WindowState = mlAppWindowState End Sub What I need is VBA to center the userform controls. Maybe I could put the controls inside a frame and I just need to the frame to center. I am not sure. But I need VBA to position the controls. Can someone get me started? -- Thanks Shawn |
Center Userform Controls
I used this code, for example, and it worked great.
usfWorkOrder.Label1.Left = (usfWorkOrder.Width) / 2 -- Thanks Shawn "Tom Ogilvy" wrote: the controls have top, left, width and height properties as well, Just calculate where you want them and then set those attributes. To get the middle of the form, divide the width in half and add it the left position. Subtract half the width of the control to get the left position for the control. Use logic related to that to calculate where you want you controls. -- Regards, Tom Ogilvy "Shawn" wrote: I am using the following code to make the userform fill the entire screen: Private mlAppWindowState As Long Private Sub UserForm_Initialize() With Application mlAppWindowState = .WindowState .WindowState = xlMaximized Me.Move .Left, .Top, .Width, .Height End With End Sub Private Sub UserForm_Terminate() Application.WindowState = mlAppWindowState End Sub What I need is VBA to center the userform controls. Maybe I could put the controls inside a frame and I just need to the frame to center. I am not sure. But I need VBA to position the controls. Can someone get me started? -- Thanks Shawn |
All times are GMT +1. The time now is 02:55 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com