powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как спозиционировать форму по центру экрана (не окна Access) используя API?
2 сообщений из 2, страница 1 из 1
Как спозиционировать форму по центру экрана (не окна Access) используя API?
    #32684785
Alex112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно спозиционировать форму по центру экрана дисплея. Окно Access при этом у меня скрыто.

Где-то видел код с использованием API, который определяет разрешение дисплея и позиционирует форму по центру. Не могу вспомнить где видел...
...
Рейтинг: 0 / 0
Как спозиционировать форму по центру экрана (не окна Access) используя API?
    #32684964
Евгений12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни разу не пользовался именно этим, но помоему так.
Для начала надо получить дискриптор рабочего стола, затем его прямоугольник (координаты(наверное они должны быть)). Вычисляем естественно середину и т.д. По дискриптору твоей Frm находим ее координаты(
Код: plaintext
Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, lpRect As RECT) As Long 

) применяем ниже указанную функцию.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Declare Function MoveWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long 

Платформа: Win  95 / 98 , Win NT 

MoveWindow перемещает окно в новое место. В дополнение к перемещению, эта функция также изменяет размер окна. В случае успеха функция возвращает  1 ,в случае ошибки функция возвращает  0 . 

hwnd
Дескриптор окна. 
x
Координата x вернхнего левого угла окна. 
y
Координата y вернхнего левого угла окна. 
nWidth
Ширина в пикселах для нового окна. 
nHeight
Высота в пикселах для нового окна. 
bRepaint
Если  1 , модифицирует экран, чтобы отобразить окно в его новой позиции. Если  0 , не модифицирует экран, чтобы отразить перемещение (окно, будет кажется, неперемещено, но будет фактически в его новом местоположении!). 
Пример: 

 ' перемещаем окно формы Form1.  Устанавливаем его верхний левый угол в точку (200, 150). 
 ' Устанавливаем новые размеры ширины(175) и высоты(300)  
Dim retval As Long   ' возвращаемое значение 

 ' перемещаем окно и перерисовываем его в новом месте 
retval = MoveWindow(Form1.hWnd,  200 ,  150 ,  175 ,  300 ,  1 )

В инете есть этот справочник.
Перепечатано из справочника по функциям API. © 1999-2000 А.Климов.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как спозиционировать форму по центру экрана (не окна Access) используя API?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]