Center form by VBA

  • Thread starter Thread starter SurveyorinVA via AccessMonster.com
  • Start date Start date
S

SurveyorinVA via AccessMonster.com

Hello All-

I have a form that acts as a splash screen, gives the title of the
application and a graphic while items load in the background. I am trying to
use the Docmd.MoveSize function to center this form in the application window.
When the application starts, this form will be the only one open for several
seconds so it will be against the gray background of the Access Window.

I thought I could use the following code, but it seems to be trying to center
the database tray.

intScreenHeight = Me.InsideHeight
intScreenWidth = Me.InsideWidth

intScreenHeightHalf = intScreenHeight / 2
intScreenWidthHalf = intScreenWidth / 2

intFormHeight = (2.291 * 1440)
intFormWidth = (5.3326 * 1440)

intFormTop = intScreenHeightHalf - (intFormHeight / 2)
intFormLeft = intScreenWidthHalf - (intFormWidth / 2)

DoCmd.MoveSize intFormLeft, intFormTop, intFormWidth, intFormHeight


Any thoughts would be great.

Thanks
Chris
 
I thought that if a form had its Auto Center property set to Yes, it would
automatically be centred in the application window.

Jeanette Cunningham
 
This worked for me; note: 9000 was the width of my form, 10000 the height
Using these two values I did a calculation of the left position of the form (nleft)
and the top of the form (ntop), and then used them in the MoveSize function.

Dim nleft As Long
Dim ntop As Long

nleft = (Me.WindowWidth - 9000) / 2
ntop = (Me.WindowHeight - 10000) / 2

'DoCmd.MoveSize right, down, width, height
DoCmd.MoveSize nleft, ntop, 9000, 10000
 
Back
Top