-
d10. есть форма 800x600. на ней прямоугольник из 15 шт. одинаковых панелей, его грани состоят из 5x3 панелек.
необходимо при максимизации формы равномерно все эти панели увеличить. как это сделать?
-
Height:= Frm.ClientHeight div 3
-
сходить в школу в третий класс или взять пару уроков арифметики у репетитора.
новая ширина окна деленная на 5 округленная вниз = новая ширина панельки
новая высота окна деленная на 3 округленная вниз = новая высота панельки
плюс левые верхние углы панелек пересчитать отталкиваясь от новых размеров
-
так это каждую пересчитывать при ресайзе? а масштаб нельзя както изменить просто? т.е. не размер изменять, а увеличить относительно нового размера?
-
Lks233 (23.03.17 15:06) [3]
1. Это и есть изменение масштаба
2. Можно использовать FireMonkey, там эта возможность встроена
-
мне нужно не только изменение размеров панелей, но и изменение компонентов на них, не пересчетом их координат и TLHW, а масштабированием размера.
FM не пользую.
-
не пересчетом их координат и TLHW, а масштабированием размера.
а масштабирование размера это и есть пересчет координат
-
т.е. не размер изменять, а увеличить относительно нового размера?
тебе нужен чак норрис
только он может увеличивать любую вещь, не изменяя её размера.
-
>а масштабирование размера это и есть пересчет координат
мне нужно увеличение изображения. это как в IE нажать ctrl и колесико мышки покрутить
-
увеличение это через крестик делается.
под ним еще две такие палочки есть =
-
> Lks233 (23.03.17 14:30)
>
> d10. есть форма 800x600. на ней прямоугольник из 15 шт.
> одинаковых панелей, его грани состоят из 5x3 панелек.
Пятнашки?
-
нашел
panel.ScaleBy(200,100);
form.ChangeScale(150, 100);
+пропорции вычислить при увеличении и юзать
закрыто