Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Разместить форму впритык к правому-нижнему углу главного окна  [new]
Dmitry S. Kravchenko
Member

Откуда:
Сообщений: 92
Привет!

Что-то никак не могу найти, как определить внутренний размеры главного окна Access чтобы впритык к правому-нижнему углу передвинуть форму.

Надо обращаться к функции API или есть какая-нибудь VBA функция?

Димс.

P.S. Access 2002
14 июн 04, 01:34    [740352]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Gyslik.
Member

Откуда: Москва
Сообщений: 748
На открытие формы:
DoCmd.MoveSize 3000, 3000, 11920, 7200
14 июн 04, 03:38    [740364]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Gyslik.
На открытие формы:
DoCmd.MoveSize 3000, 3000, 11920, 7200


Я думаю, что это только пример - а то в зависимости от размеров формы и резолюции экрана можно задвинуть форму так, что и не найдешь ее на экране.
Параметры надо выбрать посредством опытов открытия.
А вообще, вопрос достаточно сложный...
см. например,
https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=98527&hl=movesize
14 июн 04, 09:29    [740409]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Serge Gavrilov
Member

Откуда:
Сообщений: 3255
Разместить-то можно, но если надо отслеживать изменения окна Access и изменения панелей меню, то будет посложнее и без таймера не обойтись.
Прилагаю пример, что-то пришлось накрутить, раньше вроде проще делал, но не вспомнил как.

К сообщению приложен файл (DockForm.zip - 23Kb) cкачать
14 июн 04, 14:00    [740724]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Noone
Guest
У меня форма-сопровождение, которая должна мочь быть прибита к одному из углов главного окна. Таймеры уже есть, к лефому верхнему углу уже работает (случается, например, когда исчезает панель инструментов и тогда форма подъезжает к углу).

Главный вопрос в том, как ОПРЕДЕЛИТЬ размеры главного окна, ведь оно может меняться!

Димс.
14 июн 04, 15:29    [740840]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Noone
Guest
Serge Gavrilov, спасибо!

Мне собственно, нужно было вот это

Type Rect
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type

Declare Function GetClientRect Lib "user32" ( _
        ByVal hwnd As Long, _
        lpRect As Rect) As Long

А то я не мог сообразить, как структуру из четырех лонгов в бейсик передать и надеялся, что есть встроенная функция.

Димс.
14 июн 04, 15:34    [740849]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
vam911
Member

Откуда:
Сообщений: 670
Gyslik.
На открытие формы:
DoCmd.MoveSize 3000, 3000, 11920, 7200


А оно всегда таких размеров, или это просто пример??
14 июн 04, 18:22    [741067]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Shark
Member

Откуда:
Сообщений: 2366
Private Sub Form_Resize()
Dim lMeWindowWidth As Long: lMeWindowWidth = Me.InsideWidth
Dim lMeWindowHeight As Long: lMeWindowHeight = Me.InsideHeight
Me!cDetail1.Width = lMeWindowWidth - 100
Me!cDetail1.Height = lMeWindowHeight - 600
End Sub
15 июн 04, 08:32    [741490]     Ответить | Цитировать Сообщить модератору
 Re: Разместить форму впритык к правому-нижнему углу главного окна  [new]
Shark
Member

Откуда:
Сообщений: 2366
Виноват, это про расстановку контролов внутри формы.
15 июн 04, 08:34    [741493]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить