powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размер формы
9 сообщений из 9, страница 1 из 1
Размер формы
    #32381866
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу сделать так, что бы форма заняла всё свободное место, но не docmd.Maximize, а c помощью API MoveWindow. Координаты X, Y я знаю (0,0).
Как узнать максимальную высоту и ширину, на которую можно растянуть форму?
...
Рейтинг: 0 / 0
Размер формы
    #32381879
Shkurenko Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе нужно получить коородинаты клиентской части MDIClient,
а сделать это можно с помощью FindWindowEx + GetClientRect
...
Рейтинг: 0 / 0
Размер формы
    #32381890
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да именно это я и имел ввиду.
Можно поподробнее, с параметрами.
...
Рейтинг: 0 / 0
Размер формы
    #32381903
Shkurenko Alexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Declare Function FindWindowEx Lib  "user32"  Alias  "FindWindowExA"  _
    (ByVal hwndParent&, ByVal hwndChildAfter&, ByVal lpszClass$, ByVal lpszWindow$) As Long
Private Declare Function GetClientRect Lib  "user32"  _
    (ByVal hwnd&, ByRef lpRect As Rect) As Long
Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

    ...
    hMDIClient = FindWindowEx(Application.hWndAccessApp,  0 &,  "MDIClient" , vbNullString)
    Call GetClientRect(hMDIClient, rcClient)
...
Рейтинг: 0 / 0
Размер формы
    #32381918
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
Размер формы
    #32382647
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В каких единицах фунция GetClientRect возвращает размеры ? (твипы, пикселы ) ?
...
Рейтинг: 0 / 0
Размер формы
    #32382877
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по всему возвращаются пикселы.
А для конвертирования пикселов в твипы, чтобы сделать MoveSize для формы, насколько я понял, нет формулы.

Как же форму то развернуть на всю доступную область Access (но не Максимизе) ?
ОТвета в поиске не нашел :
...
Рейтинг: 0 / 0
Размер формы
    #32383126
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Чумаков А.

Кусок из программы:
Код: 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.
Public 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
Public Declare Function FindWindowEx Lib  "user32"  Alias  "FindWindowExA"  _
    (ByVal hwndParent&, ByVal hwndChildAfter&, ByVal lpszClass$, ByVal lpszWindow$) As Long
Public Declare Function GetClientRect Lib  "user32"  _
    (ByVal hwnd&, ByRef lpRect As RECT) As Long

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type



Dim rctMain As RECT


        hMDIClient = FindWindowEx(Application.hWndAccessApp,  0 &,  "MDIClient" , vbNullString)
        Call GetClientRect(hMDIClient, rctMain)
        
        Call MoveWindow(Me.hwnd,  0 ,  0 , rctMain.Right - rctMain.Left, _
            rctMain.Bottom - rctMain.Top,  1 )

...
Рейтинг: 0 / 0
Размер формы
    #32383180
Чумаков А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огомное спасибо!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размер формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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