Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DoCmd.Maximize только для одной формы / 11 сообщений из 11, страница 1 из 1
27.10.2004, 14:05:11
    #32757063
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
Хочу чтобы форма раскрылась на весь экран
но чтобы остальные формы открываясь оставались обычными (Restore)
...
Рейтинг: 0 / 0
27.10.2004, 14:06:21
    #32757069
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
первое что пришло на ум сделать остальные формы как Popup
...
Рейтинг: 0 / 0
27.10.2004, 14:10:04
    #32757076
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
LatukХочу чтобы форма раскрылась на весь экран
но чтобы остальные формы открываясь оставались обычными (Restore)
Открой для нее еще один акцесс (перенеся ее в другой файл).
...
Рейтинг: 0 / 0
27.10.2004, 14:11:52
    #32757084
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
второе, что на ум пришло, это убрать cв-во МаxMinEnabled поставить в Min enabled, тогда вроде форма не махимизируется (у меня по крайней мере так)
...
Рейтинг: 0 / 0
27.10.2004, 14:27:19
    #32757130
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
типа на Русьимпорте так когда-то учили...






Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
'Show the window and activate it

Private Declare Function ShowWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long



Private Declare Function IsIconic Lib "user32" (ByVal hWnd As Long)
Private Declare Function IsZoomed Lib "user32" (ByVal hWnd As Long) As Long

Private Declare Function MoveWindow Lib "user32" (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

Private Type Rect
    x1 As Long
    Y1 As Long
    x2 As Long
    y2 As Long
End Type

'ShowWindow constants
'-----------------------------------------
Public Const SW_HIDE As Long =  0 
'hide the window
Public Const SW_MAXIMIZE As Long =  3 
'maximize the window
Public Const SW_RESTORE =  9 
'restore window (put not maximized not minimized)
Public Const SW_SHOW As Long =  5 
'show the window
Public Const SW_SHOWMAXIMIZED As Long =  3 
'show the window maximized
Public Const SW_SHOWMINIMIZED As Long =  2 
'show the window minimized
Public Const SW_SHOWMINNOACTIVE =  7 
'show window minimized but not activate it
Public Const SW_SHOWNA =  8 
'show window in its current state but do not activate it
Public Const SW_SHOWNOACTIVATE =  4 
'Show the window in its most recent size and postion but not activate it
Public Const SW_SHOWNORMAL =  1 
Public Const SW_MINIMIZE =  6 
Public Const SW_SHOWDEFAULT =  10 


Public Sub MaximizeRestoredForm(F As Form)
'This code was originally written by Terry Kreft.
'максимизирует - свертывает окно без вывода кнопки Close
    Dim MDIRect As Rect
    ' If the form is maximized, restore it.
    If IsZoomed(F.hWnd) <>  0  Then
        ShowWindow F.hWnd, SW_SHOWNORMAL
    End If
    ' Get the screen coordinates and window size of the
    ' MDIClient area.
    'This is the line which is different
    GetClientRect GetParent(F.hWnd), MDIRect
    ' Move the form to the upper left corner of the MDIClient
    ' window (0,0) and size it to the same size as the
    ' MDIClient window.
    MoveWindow F.hWnd,  0 ,  0 , MDIRect.x2 - MDIRect.x1, MDIRect.y2 - MDIRect.Y1, True
End Sub
...
Рейтинг: 0 / 0
27.10.2004, 14:29:57
    #32757139
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
1 MinMaxButtons = 0

2 для форм которые должны остаться немаксимизированными
поставить
в загрузку
docmd.restore

для максимизированных
docmd.maximize

пробовал в MDB, что примечательно именно MinMaxButtons = 0 дает такой эффект
...
Рейтинг: 0 / 0
27.10.2004, 14:51:29
    #32757218
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
2Victosha
нет описания GetClientRect

>поставить в загрузку docmd.restore
>для максимизированных docmd.maximize
именно от этого и хочу избавится
...
Рейтинг: 0 / 0
27.10.2004, 14:53:55
    #32757227
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
автор
2Victosha
нет описания GetClientRect


Код: plaintext
Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
...
Рейтинг: 0 / 0
27.10.2004, 14:57:45
    #32757236
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
автор
>поставить в загрузку docmd.restore
>для максимизированных docmd.maximize
именно от этого и хочу избавится


сделай публичную функцию которая сама будет знать кому какой режим.

обрати внимание
что если MinMaxButtons = 0
то максимизация только в загрузке формы
а не при активизации и выборе другой загруженной формы!!!
...
Рейтинг: 0 / 0
27.10.2004, 15:37:24
    #32757342
Latuk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
>типа на Русьимпорте так когда-то учили...
Оно конечно не максимизирует форму,а увеличивает размер "под обрез"
но в общем удльтарился
спсб
...
Рейтинг: 0 / 0
27.10.2004, 15:55:36
    #32757390
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DoCmd.Maximize только для одной формы
Latuk>типа на Русьимпорте так когда-то учили...
Оно конечно не максимизирует форму,а увеличивает размер "под обрез"
но в общем удльтарился
спсб

как бы да... Потому и выложил.

сорри - пропустил GetClientRect :))

"формально правильно" максимизировать будет такой вызов:

ShowWindow F.hWnd, SW_SHOWMAXIMIZED

F - переменная типа формы. (Для железобетонности надо бы видимость проверить/установить)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / DoCmd.Maximize только для одной формы / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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