Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
По нажатию на кнопку мне нужно растянуть область данных формы и вложенную в нее форму до заданных размеров.
Height и Width формы (области данных) к чему относятся? Никак не могу найти.
30 июн 04, 09:58    [773362]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
- У формы - Width
- У секций (заголовой, примечание, область данный) - Height
- Видимые размеры формы - InsideHeight, InsideWidth
30 июн 04, 10:02    [773368]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
Пишу Me.InsideHeight=13.5, а размер меняться и не думал?
30 июн 04, 10:05    [773382]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Invisible
Пишу Me.InsideHeight=13.5, а размер меняться и не думал?

Что такое 13.5?
Там вроде в твипах надо и значения там уже в тысячах измеряются :)
Вы бы посмотрели чему оно равно изначально :)
30 июн 04, 10:11    [773403]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
kedzo
Member

Откуда: Москва
Сообщений: 964
если форма развернута на весь экран, то сначала ей надо сделать restore, а потом изменять размер.
30 июн 04, 10:12    [773406]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
А форма случаем не на весь экран развернута?
30 июн 04, 10:13    [773409]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Могу кинуть программку, которая запоминает последние установки в конструкторе.
30 июн 04, 10:20    [773435]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
Начальное значение я посмотрел, рассчитывал на то, что при внесении данного значения видимая область уменьшится. Форма изначально была развернута, но пробовал и так и так. После внесение изменение в размеры значения H и W не меняются, вот такая ерунда.
30 июн 04, 10:23    [773452]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Держи родной и пользуйся

Public Sub DlgResize(Frm As Form)
On Error GoTo Err_1
Frm.InsideWidth = Frm.Width
Frm.InsideHeight = Frm.Section(0).Height
DoCmd.Restore
Exit_1:
Exit Sub
Err_1:
E_MsgBox Err.Description
Resume Exit_1
End Sub

Вызываешь её так

Private Sub Form_Open(Cancel As Integer)
DlgResize Me
End Sub
30 июн 04, 10:26    [773459]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Дык - может ты все задачу свормулируешь?

А так - вот сюда посмотри
https://www.sql.ru/forum/actualthread.aspx?bid=4&tid=98527&pg=-1
30 июн 04, 10:29    [773468]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
Угу. Ента весч подгоняет видимые размеры формы под область данных, а мне нужно саму область данных расширять. Короче говоря задача такая: когда увеличиваем разрешение, форма могёт взять всю область экрана, вот.
30 июн 04, 10:34    [773499]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As Rect) As Long

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

Public Sub MyFormReSize()
Dim AccRect as Rect
    Call GetClientRect(Application.hWndAccessApp, AccRect)
    AccRect.Top = (AccRect.Bottom - AccRect.Top) * 15 - 1320
    DoCmd.Restore
    DoCmd.MoveSize , 0, , AccRect.Top
End Sub
?
30 июн 04, 10:41    [773529]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
to paparome:
А эта формула получена практическим опытом?
AccRect.Top = (AccRect.Bottom - AccRect.Top) * 15 - 1320
30 июн 04, 10:46    [773551]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Proga
to paparome:
А эта формула получена практическим опытом?
AccRect.Top = (AccRect.Bottom - AccRect.Top) * 15 - 1320

Если ты про константу 1320, то да :)
30 июн 04, 10:48    [773567]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
круто!!!
долго мучился, пока искал подходящее значение?
30 июн 04, 10:49    [773580]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
Proga
круто!!!
долго мучился, пока искал подходящее значение?

минуты 2 :)
30 июн 04, 10:53    [773603]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
Ммможет. Ведь форма занимает часть рабочего стола. Она ленточна и она развернута внутри запущеного Акса (само окно акса маленькое). Мы видим n кол-во записей, но вот мы нажимаем на развернуть окно акса и видим внизу n-ого кол-ва строк еще кучу свободного пространства. В этом случае мы нажимаем на кнопку формы и раз... мы видим больше чем n записей. А когда мы хотим ВЕРНУТЬСЯ ОБРАТНО. Мы нажимаем кнопочку, ап... и опять стало n строк. Послечего мы спокойно можем restore-ить окно Акса. И все это в пределах одного разрешения. Но позже и на разрешение сделаю.

Я хочу взять два статических значения высоты области данных гл. формы и размеров подформы и просто менять их.
paparome, в Вашем примере не понятно как тогда восстанавливать бывшие значения размеров.
30 июн 04, 11:10    [773698]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
paparome
- У формы - Width
- У секций (заголовой, примечание, область данный) - Height
Может ли по определенным причинам изменение значенией этих свойств не применяться?
30 июн 04, 11:51    [773903]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
автор
Может ли по определенным причинам изменение значенией этих свойств не применяться?


Может - если, например, компоненты не влезают в новые размеры
+
Height области данных в ленточной форме это не суммарная высота всех видимых записей, а высота одной записи
30 июн 04, 11:54    [773917]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
Спасибо. Все получилось. Действительно на меньшее значение не хотело меняться из-за того, что вложенная форма не позволяла этого сделать. Теперь все ок! Еще раз спасибо.
30 июн 04, 12:06    [773972]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
Invisible
Member

Откуда:
Сообщений: 230
В довершение хочу спросить - как maximize и restore окно самого акцесса, а не формы, внутри его?
30 июн 04, 13:50    [774441]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
ИМХО - только через API
Вот, примено, по поиску
https://www.sql.ru/forum/actualsearch.aspx?search=SetWindowPos&a=&ma=0&bid=4&dt=-1&s=1&so=1
30 июн 04, 14:01    [774506]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
ищ
Guest
может проще восп. готовым примером от Гетца? т,1 стр.499
30 июн 04, 14:06    [774532]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
ищ
может проще восп. готовым примером от Гетца? т,1 стр.499

Может и проще, но у меня Гетца нет :(
30 июн 04, 14:07    [774536]     Ответить | Цитировать Сообщить модератору
 Re: Растянуть форму?  [new]
ищ
Guest
(голосом Карлсона) только один торт и восем свечек?
(голосом донны Розы) какая неприятность. а я вот пристрастилась.
30 июн 04, 14:27    [774639]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить