Option Explicit Private Declare Function GetWindowLong Lib "user32" _ Alias "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" _ Alias "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) As Long Private Const GWL_STYLE As Long = (-16) Private Const WS_CAPTION As Long = &HC00000 Private Const WS_THICKFRAME As Long = &H40000 Private Const SWP_FRAMECHANGED As Long = &H20 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private myLeft As Long, myTop As Long Private myWidth As Long, myHeight As Long Private Function OwnerItY() As Integer Dim rst As String rst = Screen.Height / 2 rst = rst / 22 OwnerItY = rst End Function Private Function OwnerItX() As Integer Dim rst As Integer rst = Screen.Width / 2 rst = rst / 22 OwnerItX = rst End Function Private Sub Command1_Click() Dim retval As Long myLeft = Me.ScaleX(Me.Left, vbTwips, vbPixels) myTop = Me.ScaleY(Me.Top, vbTwips, vbPixels) myWidth = Me.ScaleX(Me.Width, vbTwips, vbPixels) myHeight = Me.ScaleY(Me.Height, vbTwips, vbPixels) retval = GetWindowLong(Me.hwnd, GWL_STYLE) SetWindowLong Me.hwnd, GWL_STYLE, retval _ And Not WS_CAPTION And Not WS_THICKFRAME SetWindowPos Me.hwnd, HWND_TOPMOST, OwnerItX, OwnerItY, _ Me.ScaleX(Me.Width, vbTwips, vbPixels), _ Me.ScaleY(Me.Height, vbTwips, vbPixels), _ SWP_FRAMECHANGED End Sub Private Sub Command2_Click() Dim retval As Long retval = GetWindowLong(Me.hwnd, GWL_STYLE) SetWindowLong Me.hwnd, GWL_STYLE, retval _ Or WS_CAPTION Or WS_THICKFRAME Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, _ myLeft, myTop, myWidth, myHeight, SWP_FRAMECHANGED) End Sub Private Sub Form_Load() mnuFile.Visible = False End Sub