GPP писал(а):Здравствуйте! Как программно сделать так чтобы при старте формы она появлялась в правом верхнем углу экрана?
Sub Form_Load()
Me.Move Screen.Width - Me.Width, 0 ' Верхний правый угол
Me.Move 0, 0 ' Верхний левый угол
Me.Move 0, Screen.Height-Me.Height 'Нижний левый
Me.Move Screen.Width - Me.Width, Screen.Height-Me.Height ' НИжний правый
End Sub
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub Form_Load()
Dim taskRECT As RECT, Result As Long
Result = FindWindow("Shell_TrayWnd", "")
Result = GetWindowRect(Result, taskRECT)
Me.Move Screen.Width - Me.Width, 0 ' Верхний правый угол
Me.Move 0, 0 ' Верхний левый угол
Me.Move 0, Screen.Height - Me.Height - (Screen.Height / 800) * (taskRECT.Bottom - taskRECT.Top) 'Нижний левый
Me.Move Screen.Width - Me.Width, Screen.Height - Me.Height - (Screen.Height / 800) * (taskRECT.Bottom - taskRECT.Top) ' НИжний правый
End Sub
Me.Move 0, Screen.Height - Me.Height -(Me.Height\800)* (taskRECT.Bottom - taskRECT.Top) ' Нижний правый
Me.Move Screen.Width - Me.Width, Screen.Height - Me.Height - (Me.Height\800)*(taskRECT.Bottom - taskRECT.Top) ' Нижний левый
Me.Move 0, Screen.Height - Me.Height - (taskRECT.Bottom - taskRECT.Top) * Screen.TwipsPerPixelY ' Нижний правый
Me.Move Screen.Width - Me.Width, Screen.Height - Me.Height - (taskRECT.Bottom - taskRECT.Top) * Screen.TwipsPerPixelY ' Нижний левый
Dim R As RECT
Call SystemParametersInfo(SPI_GETWORKAREA, 0, R, 0)
Me.Move (R.Right * Screen.TwipsPerPixelX) - Me.Width, R.Top * Screen.TwipsPerPixelY
burik писал(а):Я только идею высказал.. Имея RECT taskbar'a можно определить где он находится. Автору остается только додумать и реализовать.
P. S. netdemon, сморозил слегка..
(Me.Height\800)
* Screen.TwipsPerPixelY
(Me.Height\800)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 56