Здравствуйте, ayap, Вы писали:
A>Есть следующая задачка:
A>Дан набор прямоугольных элементов пользовательского интерфейса, у которых определены некоторые параметры, а именно:
A>1) рекомендуемые длина и ширина
A>2) рекомендуемый способ расположения (горизонтальный или вертикальный)
A>Требуется: так расположить эти прямоугольники на заданной площади (окно программы, т.е. тоже прямоугольник), чтобы,
A>учитывая рекомендуемые параметры занять максимум полезной площади.
A>При этом можно менять реальные длину и ширину прямоугольников, но желательно учитывать их пропорцию.
Мало данных.
Пример -- берем контрол с наиболее совпадающими по пропорции размерами с заданной площадью и раздуваем практически на всю площадь.
В щели пихаем оставшиеся контролы, уменьшив их до неприличных размеров, естественно, сохраняя пропорции.
Надо дополнительные ограничения. Типа ограничение размеров сверху \ снизу, штраф за ресайз, в зависимости от его величины.
Да, кстати, ИМХО лучше все-таки ограничить промежутки допустимых высоты и ширины, ибо, если вздумается ресайзить заполненную площадь, то при предложенном варианте (жесткая пропорция) пропорция площади тоже будет жестко задана.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>