[prg] Больной вопрос: координаты
Vande omentaina, illi!
Мой вопрос к разработчикам GUI-программ (Windows Forms, нативные
приложения на WinAPI, Android).
Народ, как вы справляетесь с подсчётом координат таким образом, чтобы
объекты хотя бы не налезали друг на друга? Есть, конечно, няшные
фреймворки типа WXWidgets, где это решается на уровне самого
фреймворка. Но так можно сделать не везде. Как вы решаете это для
себя?
Спасибо!
Здравствуйте!
Я не знаю, на сколько работа в c++ в visual studio отличается от вашей,
но я добавляю например, диалог, в него накидываю нужные элементы:
кнопки, списки и т.д., а затем открываю код файла, в котором
прописываются внешние атрибуты окна: размеры кнопок, их подписи и так
дальше и затем начиная с левого верхнего угла обычной арифметикой
подсчитываю где будет поле редактирования, где будет кнопка для поиска и
многое другое.
четыре значения координат, которые я меняю отвечают соответственно:
отступ от левого края окна до левой границы элемента,
отступ от верхнего края окна до верхней границы элемента,
горизонтальная длина элемента,
вертикальная высота элемента.
Началом отсчета является нулевая точка в левом верхнем углу экрана.
Отступ между элементами не привышает 10 пикселов.
да, забыл сказать, что хорошо бы, чтобы элементы сходных окон имели
одинаковые размеры - тем самым выдерживая некий стиль.
Еще придерживаюсь симетричности, хотя, думаю, что это не обязательно, но
как правило смотрится лучше.
Показывал свои окна зрячему профессиональному дизайнеру - серьезных
нареканий не было - лишь небольшие пожелания:
сделай кнопки помельче, а список по крупнее и все в этом роде.
Но к сожалению, в своих проектах изменения настолько частые, что внешним
видом удается заняться очень редко.
Когда же элементы просто накидываешь в окно, они падают практически в
одно и то же место и даже зрячий не может с первого раза обнаружить
нужный элемент - они закрывают друг друга, поэтому сначала я распределяю
все в голове, потом задаю размеры объектов относительно левого верхнего
угла и только потом показываю свою картину зрячему помошнику.
Скажу свое наблюдение:
если делать расчеты окна с большим разрешением значительно большим чем
800 на 600, то нужно быть готовыми к тому, что на маленьком экране
какие-то элементы вылезут за край экрана.
С уважением
Грызунов Александр