Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: динамическое изменение свойств поля
 
 автор: Dmitry   (08.05.2008 в 17:53)   личное сообщение
 
 

можно как нибудь настроить поле в отчете так чтобы в зависимости от размера значения(количества символов) менялся шрифт. то есть чтобы если поле длинное оно не вылазило за выделенные рамки а просто уменьшался шрифт. что нить типа autosize.

  Ответить  
 
 автор: Анатолий (Киев)   (08.05.2008 в 19:10)   личное сообщение
 
 

У отчета есть метод TextWidth, который возвращает длину текста в твипах.

  Me.FontName = Me![Поле].FontName 'также FontBold и FontItalic
  Me.FontSize = 10
If   Me.TextWidth(Me![Поле].Value) <= Me![Поле].Width - 10 then  '-10 - для надежности 
  Me![Поле].FontSize = Me.FontSize
End If

Это надо делать в цикле, уменьшая размер шрифта, пока не влезет.
В реальности надо также учитывать значения левого/правого отступа в поле и т.п.
В А97 этого метода нет, а в А2000 без обновлений - глючит.

Иначе это можно сделать с помощью API функций, но уж больно громоздко.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList