Руководство разработчика

Метод ФОРМА.СДВИГ

Метод СДВИГ позволяет осуществлять групповой сдвиг элементов на форме. Задается позиция и величина сдвига по горизонтали и вертикали. Метод работает только во время показа формы, т.е. должен использоваться в обработчиках событий самой формы или ее элементов управления.

ФУНКЦИЯ СДВИГ(ЧИСЛО: x; 
              ЧИСЛО: dx; 
              ЧИСЛО: y; 
              ЧИСЛО: dy)

Параметры

x
Позиция сдвига по горизонтали.
dx
Величина сдвига по горизонтали.
y
Позиция сдвига по вертикали.
dy
Величина сдвига по вертикали.

Если параметры dx и dy имеют ненулевое значение, то в сдвиге участвуют элементы, координаты левого верхнего угла (поля левый и верхний) которых попадают в закрашенную на рисунке область.

На рисунке приведены два из четырех возможных случаев: 1) положительные dx и dy, 2) положительный сдвиг dx и отрицательный сдвиг dy.

При нулевой величине одного из сдвигов смещаются все элементы, координаты левого и верхнего угла которых расположены в закрашенной полуплоскости для положительного сдвига или в белой – для отрицательного сдвига.

Пример:

ТИП МойБланк ( БЛАНК )
[
    // данные бланка
    СТРОКА: заголовок = "Метод СДВИГ";
    ЧИСЛО: высота = 300;
    ЧИСЛО: верхний = 60;
    ЧИСЛО: левый = 40;
    
    // кнопка, при нажатии на которую производится сдвиг
    КНОПКА: КнСдвиг = [ левый = 0.2, верхний = 0.2, 
                        высота = 0.6, ширина = 2,
                        табиндекс = 1, текст = "Сдвиг",
                        нажатие = НажСдвиг ];
    
    // элементы управления, которые подлежат сдвигу
    // набор этих элементов может быть совершенно произвольным,
    // лишь бы поле верхний было больше 1 см
    РЕДАКТОР: Редактор1 = [ левый = 0.40625, верхний = 1.703125,
                            высота = 0.5, ширина = 6.625,
                            табиндекс = 2, текст = "Графа ввода" ];
    ЛИНИЯ: Линия1 = [ левый = 6.91875,  верхний = 1.484375,
                      высота = 0.875,  ширина = 0.6,
                      х1 = 7.21875, у1 = 1.5,
                      х2 = 7.21875, у2 = 2.34375 ];
    ЛИНИЯ: Линия2 = [ левый = 0.265625,  верхний = 2.04375,
                      высота = 0.6, ширина = 6.96875,
                      х1 = 0.28125,  у1 = 2.34375, 
                      х2 = 7.21875, у2 = 2.34375 ];
    ЛИНИЯ: Линия3 = [ левый = -0.01875, верхний = 1.484375,
                      высота = 0.875,  ширина = 0.6,
                      х1 = 0.28125, у1 = 1.5,
                      х2 = 0.28125, у2 = 2.34375 ];
    ЛИНИЯ: Линия4 = [ левый = 0.265625, верхний = 1.2,
                      высота = 0.6, ширина = 6.96875,
                      х1 = 0.28125, у1 = 1.5,
                      х2 = 7.21875, у2 = 1.5 ];
    ФУНКЦИЯ НажСдвиг ( ПЕРЕМ КНОПКА: кнопка )
        // сдвигаем все элементы, расположенные ниже 1 см на 0.1 см вниз
        СДВИГ ( 0, 0, 1, 0.1 )
        // вычисляем новый размер бланка
        МИН_РАЗМЕР
    КОНЕЦ_ФУНКЦИИ
]
ВЫЧИСЛИТЬ
    ПЕРЕМ МойБланк: б
    б.ПОКАЗАТЬ
КОНЕЦ

См. также: