powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
25 сообщений из 114, страница 1 из 5
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538211
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкладываю замученый мною код (исходный код взят из Access 2002 Desktop Developer's Handbook
by Litwin, Getz, and Gunderloy (Sybex) Copyright 2001.) масштабирования и ресайзинга форм.
дополнено: масштабирование табличных форм, запоминание текущих размеров
(высоты и ширины) колонок, введены поправочные коэффициенты на ширину
полос прокруток, области выделения (полосы прокруток и область выделения
не масштабируются), запоминание текущего положения, размеров и масштаба
формы относительно размеров экрана, изменение ширины списков и ширин
столбцов в списках при пользовательском изменении размеров формы,
запоминание текущего положения сплиттеров (если есть). :)
Протестируйте (кому не лень) у себя. Жду замечаний и наезды (прошу только по делу).
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538212
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538230
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:( Ну вот стоило выложить уже косяк нашелся. Высоты подформ портятся. Буду искать.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538232
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БД открывается, но при попытке открыть форму frm1 и frm1sub4 Акс зависает с предложением сделать бэкап и насплетничать в Майкрософт.
Win XP SP2, Access 2003
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538239
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А теперь?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538240
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538263
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldБД открывается, но при попытке открыть форму frm1 и frm1sub4 Акс зависает с предложением сделать бэкап и насплетничать в Майкрософт.
Win XP SP2, Access 2003
Теперь не зависает?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538279
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно отловить когда пользователь меняет размеры и положение контролов на форме.
Есть 2 пути (которые я знаю):
1. На каждое событие рисайз сканировать все контролы (что называется в лоб)
2. Рейз ивент повесить на форму (в данном случае на маус ап на сплиттере) что тоже не совсем хорошо.
Есть еще идеи?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538292
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рейз ивент отпадает. думал получится. :(
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538299
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока что тоже самое. Полный завис. Пришлось заходить с шифтом. Те же 2 формы не открываются
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538305
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тебе на. А у меня работает Офис ХР Аксесс 2002, формат базы 2000.
В чем может быть дело?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538307
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, кто пробовал, у кого еще зависает?
Или легче спросить у кого НЕ зависает?
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538311
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще одна проблема - зависает мгновенно при попытке зайти в любой модуль. Неважно в какой, формы, стандартный. Может быть дело именно в этом. Я не смог даже просмотреть референсы, подумал сначала, что в этом дело. Я могу, конечно, применить обычный набор шаманских приемов, но, думаю, уместно вам знать об этом и исправить ситуацию
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538315
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кстати, может быть у меня просто не регистрированы какие-то библиотеки, необходимые для работы программы. Напишите, какие нужны. Если есть, зарегим.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538316
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mds_world
В модуле формы в событии опен закоментарены строчки:
mrfrm.RemoveFormsProperty ...
Снимите коментарии на RemoveFormsProperty, откомпилируйте и запустите форму frm1
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538318
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldА кстати, может быть у меня просто не регистрированы какие-то библиотеки, необходимые для работы программы. Напишите, какие нужны. Если есть, зарегим.
Библиотеки никакие не нужны. Разве что АПИ-функции.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538321
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСнимите коментарии на RemoveFormsProperty, откомпилируйте и запустите форму frm1Я не могу зайти в код. Я уже писал об этом.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538326
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_worldИ еще одна проблема - зависает мгновенно при попытке зайти в любой модуль. Неважно в какой, формы, стандартный. Может быть дело именно в этом. Я не смог даже просмотреть референсы, подумал сначала, что в этом дело. Я могу, конечно, применить обычный набор шаманских приемов, но, думаю, уместно вам знать об этом и исправить ситуацию
Не заметил. даже в модуль не пускает.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538332
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mds_world
Можете попробовать для меня следующее?
Запустите этот код, затем прочтите.
Код: plaintext
1.
2.
3.
   CurrentProject.AllForms("какую-нибудь форму").Properties("{1187C6DF-2FFD-4fad-8138-A37C1AEABF39}") = "тест"

strtxt=CurrentProject.AllForms("какую-нибудь форму")....
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538335
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой извиняюсь не так. Ща. подождите.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538336
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
Private Function SetFormProperty(FormName As String, strPropertyName As String, _
                                 strProperty As String) As Boolean
    ' Add custom properties to the AccessObjectProperties
    ' collection that is associated with an AccessObject object.
On Error GoTo  999 

    With CurrentProject.AllForms(FormName)
       If Nz(.Properties(strPropertyName)) <> strProperty Then
          .Properties(strPropertyName) = strProperty
       End If
    End With
    SetFormProperty = True

ExitHere:
    Exit Function

 999 :
    If Err.Number = acErrPropertyNotFound Then
       With CurrentProject.AllForms(FormName).Properties
           .Add strPropertyName, strProperty
       End With
       Resume
    Else
       SetFormProperty = False
       Resume ExitHere
    End If

End Function

затем
 call SetFormProperty("frm", "{1187C6DF-2FFD-4fad-8138-A37C1AEABF39}", "test")
затем прочтите.

...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538337
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
acErrPropertyNotFound = 2455
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538345
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Высылаю макет формы (без кода). Ну он то должен запуститься. Затем попробуйте импортироват модули и классы.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538367
Любопыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world
Вы тут?
Может этот шаманский код поможет :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Public Function NewEnum() As IUnknown
    Attribute NewEnum.VB_UserMemId = - 4 
    Set NewEnum = mcolControls.[_NewEnum]
End Function

Public Function Item(ByVal varID As Variant) As ClassResizeControl
    Attribute NewEnum.VB_UserMemId =  0 
    Set Item = mcolControls(varID)
End Function
Это нужно запихнуть в модуль класса "ClassResizeForm" в текстовом редакторе (не в редакторе ВБА). Затем удалите (если уже импортировали в базу данных) из базы данных модуль "ClassResizeForm" и импортируйте отредактированный в текстовом редакторе модуль класса
Хочу докопаться в чем тут дело. У меня-то ошибок не выдает и поэтому не знаю даже где копать.
...
Рейтинг: 0 / 0
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
    #34538368
ИгорьКл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
access 2003, виснет и просит пожаловаться на Любопыта дядюшке Биллу.
...
Рейтинг: 0 / 0
25 сообщений из 114, страница 1 из 5
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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