powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
25 сообщений из 114, страница 4 из 5
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34545835
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так.
1.Создайте свою чистую базу на MS2003.
2.Импортируйте из приложенного файла следующее:
ModuleScreenInfo.bas
ClassResizeControl.cls
ClassResizeForm.cls
3. Тут два пути: а) создаете свой макет формы
б) копируете все формы из приложенного файла мдб.
4. Код на форму скопируйте ( не импортировать ) из файла Form_frm1.cls
Должно сработать.

З.Ы. Код доработан несколько (исправлены незначительные ошибки, корректнее отрабатывается высота секции 0).
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34546142
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже это у меня что-то с Аксессом.
Попытался декомпилировать - упорно выдавал ошибку с предложением отправить весточку в мсф.
Не знаю как, но вообщем в процессе манипуляций с выгрузкой проекта и загрузкой в новый файл добился таки стабильной декомпиляции. А вот еще что: в именах проперти у CurrentProject.AllForms(strFormName).Properties использовал гуид... вообщем заменил на обычные короткие имена. (может и из-за этого).
Попробуйте этот вариант.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34546144
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552741
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По мойму он всётаки столбцы в листбоксах гадит... (на весь листбокс растягивает первый столбец).
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552742
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я вовремя :))
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552744
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ByKiSПо мойму он всётаки столбцы в листбоксах гадит... (на весь листбокс растягивает первый столбец).
Так и задумано. Масштабирует все столбцы.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552746
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все-таки у вас заработало... Последний вариант? Проблемы были какие-нибудь?
Жду затаив дыхание
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552755
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохо задумано :)
В листобксе три столбца, а ваша штука показывает только 1. На картинке сверху как было, снизу - как стало... Неудобно.

Последний вариант не с литовскими настройками работает.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552756
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552761
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы не можете свой макет скинуть? Я буду посмареть.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552775
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552776
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552782
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ширины колонок в примере, котором вы выслали не задали.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552783
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот результат масштабирования на 1280 х 1024
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552786
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да задал я! Только при ресайзе, он их сбивает у меня... если так не должно быть - буду в понедельник посмотреть ;)))
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34552789
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ByKiSДа задал я! Только при ресайзе, он их сбивает у меня... если так не должно быть - буду в понедельник посмотреть ;)))
При ресайзе пропорционально изменяются ширины колонок.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34554453
ByKiS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Действительно. Приношу извенения за наезд :) , с литовскими настройками, если указать ширины в пикселях - всё отлично работает.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721118
Максойд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все уловил, реализовал в своей БД, одного не понял, для чего этот код

Код: 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.
Private Sub Form_Open(Cancel As Integer)
    mtime = Timer
    Set mrfrm = New ClassResizeForm
    Set mrfrm.Form = Me
    Call mrfrm.SetDesignScreen( 1024 ,  768 ,  96 ,  96 )

    mdecscale =  1 
    mrfrm.Controls("cmdClose").FloatIt = cfRight
    mrfrm.Controls("cmd_Close").FloatIt = cfRight
    mrfrm.Controls("cboBox").SizeIt = czRight

    mrfrm.Controls("lblPage1").SizeIt = czRight
    With mrfrm.Controls("frm1sub1")
       .SizeIt = czBottom
       .SaveIt = True
    End With
    With mrfrm.Controls("lblSplitterY")
       .SizeIt = czBottom
       .SaveIt = True
    End With
    With mrfrm.Controls("frm1sub2")
       .SizeIt = czBoth
       .SaveIt = True
    End With

    mrfrm.Controls("frm1sub3").SizeIt = czBoth
    mrfrm.Controls("tab").SizeIt = czBoth
    mrfrm.Controls("lst").SizeIt = czBottom
    mrfrm.Controls("Pic").FloatIt = cfBottom
    mrfrm.Controls("frm1sub4").Rfrm.Controls("frm1sub4sub").SizeIt = cfRight
    mrfrm.Controls("frm1sub4").Rfrm.Controls("cboBox").SizeIt = cfRight

End Sub

Ведь все работает и при таком коде
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Form_Open(Cancel As Integer)
    
    mtime = Timer
    Set mrfrm = New ClassResizeForm
    Set mrfrm.Form = Me
    
    Call mrfrm.SetDesignScreen( 1024 ,  768 ,  93 ,  93 )
    mdecscale =  1 
       
    With mrfrm.Controls("F_Zakup_Slave")
       .SizeIt = czBottom
       .SaveIt = True
    End With
   
End Sub
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721151
mcgrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело в том, что в этом коде нет класса TagedValues, поэтому каждый контрол, который нужно перемещать или ресайзить (не путать с масштабированием!) при изменении размеров формы, нужно прописать его свойства в коде.
FloatIt = (cfRight/cfBottom/cfBoth) - перемещение
SizeIt = (czRight/czBottom/czBoth) - изменение размеров.
Могу выложить с классом TagedValues (очень удобно, не нужно в коде прописывать, свойства прописываете в свойствах контрола (дополнительные сведения ))
в доп.сведениях можно прописать: FloatIt=Bottom;SizeIt=Right , например.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721259
mcgrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот выкладываю с классом TagedValues
в доп.сведениях контрола можно прописать:
FloatIt = (Right/Bottom/Both) - перемещение
SizeIt = (Right/Bottom/Both) - изменение размеров.
ниже дан код, запоминающий текущие координаты и размеры формы,
а также положение сплиттера. при следующем запуске формы форма откроется с этими координатами и размерами и положением сплиттера.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Form_Unload(Cancel As Integer)
    ' вызов mrfrm.Clear обязателен для запоминания всех координат
    Call mrfrm.Clear
    Set mrfrm = Nothing
End Sub

Private Sub Form_Open(Cancel As Integer)
    Set mrfrm = New ClassResizeForm
    Set mrfrm.Form = Me
    Call mrfrm.SetDesignScreen( 1024 ,  768 ,  96 ,  96 )
    mrfrm.SaveCoords = True
    ' запоминаем координаты сплиттера и подформ (fsub1 и fsub2),
    ' размеры которых зависят от положения сплиттера
    mrfrm.Controls("fsub1").SaveIt = True
    mrfrm.Controls("lblSplitterY").SaveIt = True
    mrfrm.Controls("fsub2").SaveIt = True
End Sub
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721260
mcgrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721448
Максойд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас не дома, база здесь нет, чтобы проверить. Просто вчера столкнулся с такой ситуацией, что шрифт в надписе, которые вставлял в форму почему то не изменял свои размеры пропорциоанльно остальным элементам. Видимо нужно было как раз прописать sizeIT для надписи. Правильно мыслю?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34721496
mcgrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МаксойдСейчас не дома, база здесь нет, чтобы проверить. Просто вчера столкнулся с такой ситуацией, что шрифт в надписе, которые вставлял в форму почему то не изменял свои размеры пропорциоанльно остальным элементам. Видимо нужно было как раз прописать sizeIT для надписи. Правильно мыслю?
странно, шрифт должен масштабироваться при изменении масштаба .
SizeIt - изменяет размеры контрола при изменении пользователем размеров формы (при ресайзинге ). Если вы пропишите для надписи SizeIt=Right, то при растягивании формы изменится ширина надписи.
Не путайте масштабирование с ресайзингом. Масштабирование здесь имеется в виду пропорциональное изменение всех размеров всех контролов на форме и самой формы, ресайзинг - изменение размеров определенного(ых) контрола (не обязательно всех контролов), размер шрифта при ресайзинге НЕ изменяется.
Пример ресайза: пользователь тянет за нижний угол формы вправо и вниз, форма растягивается контрол следует за нижним правым углом (FloatIt=Both) или изменяется по ширине (SizeIt=Right) и т.д.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34722240
Максойд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2mcgrow: не знаю, у меня половина элементов ресайзится, а половина нет. Причем ресайз в плюс идет правильно, а при уменьшении пропорции нарушаются, т.е. размер шрифта в полях и надписях не уменьшается и соответствено нарушаются все пропорции в форме с наложением одних полей на другие. Как пример выкладываю свою БД.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34722241
Максойд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
25 сообщений из 114, страница 4 из 5
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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