Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размер формы / 9 сообщений из 9, страница 1 из 1
20.01.2004, 15:33
    #32381866
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Хочу сделать так, что бы форма заняла всё свободное место, но не docmd.Maximize, а c помощью API MoveWindow. Координаты X, Y я знаю (0,0).
Как узнать максимальную высоту и ширину, на которую можно растянуть форму?
...
Рейтинг: 0 / 0
20.01.2004, 15:44
    #32381879
Shkurenko Alexander
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Тебе нужно получить коородинаты клиентской части MDIClient,
а сделать это можно с помощью FindWindowEx + GetClientRect
...
Рейтинг: 0 / 0
20.01.2004, 15:49
    #32381890
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Да именно это я и имел ввиду.
Можно поподробнее, с параметрами.
...
Рейтинг: 0 / 0
20.01.2004, 15:55
    #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
20.01.2004, 16:00
    #32381918
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Спасибо.
...
Рейтинг: 0 / 0
21.01.2004, 10:45
    #32382647
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
В каких единицах фунция GetClientRect возвращает размеры ? (твипы, пикселы ) ?
...
Рейтинг: 0 / 0
21.01.2004, 12:13
    #32382877
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Судя по всему возвращаются пикселы.
А для конвертирования пикселов в твипы, чтобы сделать MoveSize для формы, насколько я понял, нет формулы.

Как же форму то развернуть на всю доступную область Access (но не Максимизе) ?
ОТвета в поиске не нашел :
...
Рейтинг: 0 / 0
21.01.2004, 14:06
    #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
21.01.2004, 14:31
    #32383180
Чумаков А.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Размер формы
Огомное спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Размер формы / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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