powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Какая ширина у ColumnWidth = -2
13 сообщений из 13, страница 1 из 1
Какая ширина у ColumnWidth = -2
    #39720959
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте.
У нас в компании с давних времен работали в Аксесс XP (2002). Сейчас всем уже надоело это старье и светит обновление на новые версии. Сейчас для теста пробую в Аксе 2007 все наши программы. По умолчанию у нас во всех табличных формах прописывались автоматические размеры колонок, и какое-то основное поле растягивалось на всю форму, это обеспечивало отображение всех столбцов на любом экране и размере формы.
В старой версии аксесса при установке параметра поля ColumnWidth = -2 оно в итоге принимало определенное значение и потом можно было следующей манипуляцией вычислить ширину столбца
ctrl3.ColumnWidth = InsideWidth - ctrl1.ColumnWidth - ctrl2.ColumnWidth
а в 2007 уже это значение ColumnWidth = -2 => -2
Сейчас все формы с этим условием, как уже можно понять, растягивают основную колонку на ширину больше видимой области в форме, потому что прибавляют 2 твипа от каждого столбца.

Как можно узнать ширину автоматического размера?
Или может есть другие способы как получить ширину столбцов по форме?

Честно скажу уже пару лет на это было потрачени и ничего в сети не нашлось, наверное никто не пользуется этим свойсвом в том же виде как у нас.
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721243
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы тоже никто не знаете?
А то может я непонятно вопрос задал. Хоть идеи и наводящие вопросы хотелось бы услышать...
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721256
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorivVV, чего уж там - "глас вопиющего в пустыне"

MorivVVУ нас в компании с давних времен работали в Аксесс XP (2002). Сейчас всем уже надоело это старье и светит обновление на новые версии.Получили чего хотели?
MorivVVКак можно узнать ширину автоматического размера?
Или может есть другие способы как получить ширину столбцов по форме?Особо никогда не заморачивался с табличными формами.
MorivVVЧестно скажу уже пару лет на это было потрачени и ничего в сети не нашлось, наверное никто не пользуется этим свойсвом в том же виде как у нас.Если подгонять по ширине в размер субформы, то не пользовался.
MorivVVКак можно узнать ширину автоматического размера?
Или может есть другие способы как получить ширину столбцов по форме?В связи с изменениями произошедшими в Access 2007 и новее некоторые способы отпали. Из не сильно замороченных можно пробегать по колонкам табличной формы и с помощью API узнавать актуальный размер.
MorivVVВы тоже никто не знаете?на пальцах рассказывать не получится, а пример не предоставили. Самому делать все нет времени, да и неохота.
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721272
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorivVV,

что это возвращает после установки ctrl.ColumnWidth = -2 ?

Код: vbnet
1.
ctl.Properties.Item("ColumnWidth").Value



пс
авторпри установке параметра поля ColumnWidth = -2 оно в итоге принимало определенное значение
это "определенное значение" == column to fit the size of the visible text.
т.е. по размеру текста в поле
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721335
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorivVVВ старой версии аксесса при установке параметра поля ColumnWidth = -2 оно в итоге принимало определенное значение и потом можно было следующей манипуляцией вычислить ширину столбца
ctrl3.ColumnWidth = InsideWidth - ctrl1.ColumnWidth - ctrl2.ColumnWidthВообще не понял зачем это?Ширину же выдаёт ColumnWidth
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721348
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургПолучили чего хотели?
У нас в отделе 3 программиста, каждый пишет свои программы на аксессе, потому что с этого все и начиналось.
Я пришел в фирму 4,5 года назад, параллельно заканчивая институт (программист по образованию).
Т.к. я польлзовался программой дрим спарк, то имел возможности пользоваться всеми новейшими продуктами мелкомягких бесплатно и для меня было дико что тут такие старые программы. Конечно же от меня сразу были предложены идеи обновиться и пользоваться новым, но эта идея сразу была отвергнута из за боязни того, что что-то поломается и не будет работать. Я на тот момент особо не пытался разбираться и принял это как должное. Потом спустя пару лет, когда вник во все нюансы работы и написал 2 новых модуля, прочитал множество книг и форумов, понял что мне лично ничего не мешает перейти на новый аксесс, тестировал свои программы и все работало.
Но это для понимания объема скажу что скомпилированные модули программ занимают около 25мб каждый и содержат примерно по 300-350 форм и отчетов каждый.
А вот у другого программиста всего одна программа(модуль) но он туда напихал все на максимум и уже сталкивается с ограничениями аксесса в 1000шт форм, отчетов и модулей. (это ~80мб файл программы)
Ну и вот наши модули содержат весь юзер-интерфейс и работают с прилинковаными базами данных, которые кстати сказать уже сильно разрослись на множество файлов, т.к. общий объем БД уже превысил 14гб.

Я вообще бы у себя просто убрал автоматическое растягивание колонок и исчерпал проблему, но у нас "типа так заведено" дабы максимальное количество информации представлять на экране, не дай бог столбец скроется с нужной информацией...
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721351
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court
Код: vbnet
1.
ctl.Properties.Item("ColumnWidth").Value



тоже выдает -2
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Form_Resize()
  Me![ENABLED].ColumnWidth = -2
  Me![FIO_ADM].ColumnWidth = -2
  Me![NAIMEN].ColumnWidth = Me.InsideWidth - Me![ENABLED].ColumnWidth - Me![FIO_ADM].ColumnWidth - 0.5 * 567
End Sub


После изменения размера формы FIO_ADM = -2 и ENABLED = -2
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721353
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorivVV, ты решение заметил?
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721356
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MorivVVЯ вообще бы у себя просто убрал автоматическое растягивание колонок и исчерпал проблему, но у нас "типа так заведено" дабы максимальное количество информации представлять на экране, не дай бог столбец скроется с нужной информацией...Я не понял зачем сначала размер задавать -2, а потом подгонять программно. Сразу и делайте ширину.
Тестового примера я так и не увидел (Со зрением плохо наверное?).
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721388
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, спасибо

Код: vbnet
1.
.accLocation 0, 0, lngWidthPcx, 0, 0


то что нужно

только что это за свойство и почему значение нужно умножать на 15?
Век живи, век учись...
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721390
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургMorivVVЯ вообще бы у себя просто убрал автоматическое растягивание колонок и исчерпал проблему, но у нас "типа так заведено" дабы максимальное количество информации представлять на экране, не дай бог столбец скроется с нужной информацией...Я не понял зачем сначала размер задавать -2, а потом подгонять программно. Сразу и делайте ширину.
Тестового примера я так и не увидел (Со зрением плохо наверное?).
Форм очень много, поля в них содержат различную информацию и соответсвенно что ширину колонок заранее нельзя предугадать, поэтому им назначается значение =-2, чтобы размер автоматически подогнался под данные.
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721424
MorivVV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

нашел ваши июньские сообщение по этому методу. очень интересно)
...
Рейтинг: 0 / 0
Какая ширина у ColumnWidth = -2
    #39721794
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ТС нашёл ответ на этот вопрос, но я всё же поясню.
MorivVVтолько что это за свойство и почему значение нужно умножать на 15?Это не свойство, а вполне себе метод доставшийся от интерфейса IAccessible . Через этот метод можно получить размеры и положение объекта (в данном случае TextBox 'а) в экранных координатах. Координаты вернуться в пикселях. Далее нам нужно пересчитать координаты из пикселей в твипы (единицы измерения принятые в Access). Для этого требуется найти количество твипов в пикселе, и тут для простоты расчётов я взял наиболее вероятное значение 15 твипов на пиксель. Чтобы получить точное значение на конкретной машине можно воспользоваться поиском и найти примеры функции на этом форуме.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Какая ширина у ColumnWidth = -2
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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