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

strtxt=CurrentProject.AllForms("какую-нибудь форму")....
...
Рейтинг: 0 / 0
20.05.2007, 19:43
    #34538335
Любопыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
Ой извиняюсь не так. Ща. подождите.
...
Рейтинг: 0 / 0
20.05.2007, 19:46
    #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
20.05.2007, 19:47
    #34538337
Любопыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
acErrPropertyNotFound = 2455
...
Рейтинг: 0 / 0
20.05.2007, 20:02
    #34538345
Любопыт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
Высылаю макет формы (без кода). Ну он то должен запуститься. Затем попробуйте импортироват модули и классы.
...
Рейтинг: 0 / 0
20.05.2007, 20:41
    #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
20.05.2007, 20:45
    #34538368
ИгорьКл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм.
access 2003, виснет и просит пожаловаться на Любопыта дядюшке Биллу.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выкладываю монстра (по размерам кода) Масштабирование и ресайзинг форм. / 25 сообщений из 114, страница 1 из 5
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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