×
Показано с 1 по 9 из 9
  1. #1
    Клерк
    Регистрация
    09.08.2005
    Сообщений
    46

    ВысотаСтроки как определить

    Мне нужно узнать на сколько строчек переноситься наименование при печати документа, т.е. высотустроки чтоб регулировать переносы страниц,
    как это сделать?
    Поделиться с друзьями

  2. #2
    Модератор Аватар для Aquad
    Регистрация
    04.12.2002
    Адрес
    Москва
    Сообщений
    3,870
    webcrush,
    Посмотрите механизм печати Торг-12 ... Там как раз есть перенос строк ...

  3. #3
    Бухгалтер-программист Аватар для azernot
    Регистрация
    16.08.2004
    Адрес
    Москва
    Сообщений
    671
    Aquad, Вот как раз туда лучше не смотреть! Настолько корявый механизм...

    webcrush, Не заморачивайтесь! Поставьте моноширинный шрифт (Courier) и считайте количество символов влезающих в ячейку. Соответственно вы будете знать на сколько раздвинется высота строки при переносе. (Во всяком случае, я так делал - работает достаточно нормально)
    С уважением
    Зернятко А.В.

  4. #4
    Клерк
    Регистрация
    09.08.2005
    Сообщений
    46
    Все нашел механизм расчета размерности символов, геморойно правда, но раз посчитал, зато потом пользуйся, и для любого шрифта.
    Правда для каждого шрифта придется свою таблицу размерности делать

  5. #5
    Модератор Аватар для Aquad
    Регистрация
    04.12.2002
    Адрес
    Москва
    Сообщений
    3,870
    azernot,
    Согласен ... но это первое что пришло в голову ...

  6. #6
    Клерк
    Регистрация
    09.08.2005
    Сообщений
    46
    Все готово работает на ура

  7. #7
    www.1cpp.ru
    Гость
    ВысотаСтрокиТаблицы(<?>,,)
    HeightTableString(<?>,,)
    Синтаксис:
    ВысотаСтрокиТаблицы(<Таблица>,<НомерСтроки>,<ТипВозврата>)
    Замечание:
    Метод работает только для таблиц, которые уже выведены на экран методом Показать().
    Назначение:
    Возвращает высоту строки объекта Таблица в заданных единицах
    Параметры:
    <Таблица> - объект Таблица;
    <НомерСтроки> - номер строки, высоту которой необходимо вычислить.
    <ТипВозврата> - тип возвращаемого значения. Может принимать следующие значения:
    1 - возвращается значение в миллиметрах, 2 - возвращается значение в экранных пикселах,
    3 - возвращается значение во внутренних юнитах 1С.
    Пример:
    Сервис = СоздатьОбъект("Сервис");
    Таб.Показать("Тест");
    Сервис.ПрятатьТаблицу(Таб,1);
    Для инд = 1 по Таб.ВысотаТаблицы() Цикл
    Сообщить(+инд+ ::
    +Сервис.ВысотаСтрокиТаблицы(Таб, инд, 1)+мм. ::
    +Сервис.ВысотаСтрокиТаблицы(Таб, инд, 2)+ ::
    +Сервис.ВысотаСтрокиТаблицы(Таб, инд, 3));
    КонецЦикла;
    Сервис.ПрятатьТаблицу(Таб,0);

  8. #8
    Клерк
    Регистрация
    09.08.2005
    Сообщений
    46
    И где я возьму тебе эту ВЫсотаСтрокиТаблицы()

  9. #9
    Бухгалтер-программист Аватар для azernot
    Регистрация
    16.08.2004
    Адрес
    Москва
    Сообщений
    671
    Это типа 1с++
    С уважением
    Зернятко А.В.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)