Здравствуйте, bnk, Вы писали:
bnk>125% — смешно. На Microsoft Surface 200% стотит чуть ли не по умолчанию.
Так погрешности ж не увеличиваются с ростом масштаба. Если оставлять достаточные промежутки, на любом масштабе искажений нет. Задача — подобрать величину промежутков.
bnk>Там размер шрифта диалога еще нужно выставить. DLU от него считается.
Угу, у меня они стандартные везде.
Re[11]: Программы для тестирования размеров элементов диалога
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Так погрешности ж не увеличиваются с ростом масштаба. Если оставлять достаточные промежутки, на любом масштабе искажений нет. Задача — подобрать величину промежутков.
Я имел в виду вот
Re[12]: Программы для тестирования размеров элементов диалога
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, fk0, Вы писали:
fk0>>В нормальных графических системах (HTML, Gtk, Tk, Qt...) координаты не гвоздями прибиваются, а есть так называемая "упаковка"
ЕМ>Я в курсе, и давно хочу себе такое, но ни разу не видел в изолированном варианте, чтоб только указать, каким образом выравнивать элементы — оно почему-то всегда идет вместе с обширным набором средств чуть не на все случаи жизни, или в виде фреймворка, или завязано на другие библиотеки.
Ну это как бы очень нетривиальная задача. Чтобы в этом убедиться, попробуйте написать чёткое ТЗ, что когда и как масштабировать и позиционировать. Это очень сложно.
Не совсем из этой сферы, но ребята из KDAB делали менеджер док окон и выделили слой абстракции от Qt, чтобы код можно было переиспользовать с другими фреймворками. И код там достаточно мудрёный.
Поэтому на практике каждый пилит велосипед под свои нужды, либо всё-таки берёт полноценный фреймворк для интерфейса, где это всё предусмотрено и реализовано.
Re[3]: Программы для тестирования размеров элементов диалога
Здравствуйте, Евгений Музыченко, Вы писали:
fk0>>В нормальных графических системах (HTML, Gtk, Tk, Qt...) координаты не гвоздями прибиваются, а есть так называемая "упаковка"
ЕМ>Я в курсе, и давно хочу себе такое, но ни разу не видел в изолированном варианте, чтоб только указать, каким образом выравнивать элементы — оно почему-то всегда идет вместе с обширным набором средств чуть не на все случаи жизни, или в виде фреймворка, или завязано на другие библиотеки.
ЕМ>Когда-то я делал небольшую софтину для расстановки дочерних окон в MDI-приложениях по схожим принципам, то ли ее перепилить под это дело...
я себе сразу такую систему запилил, удобно, в системе(просто один промежуточный родительский класс окна) регаются контролы с флагами и скидываются сообщения о ресайзах, дальше она всё сама делает. Я даже сделал программу, которая так ресайзит чужие окна, потому что в той же студии совсем недавно сделали ресайз окон, где, блин, список свойств на три строчки содержит тысячи записей, и искать что-то там мучительно больно было... Видел на ютубе народ этой прогой как-то даже игры ресайзил
тем временем Е>Программы для тестирования размеров элементов диалога
Неужели тебе приходится так часто редактировать диалоги? Сейчас в 10-ке вроде можно находу быстро менять 100-125-150-... и смотреть, как получилось.
Re[4]: Программы для тестирования размеров элементов диалога
Здравствуйте, CEMb, Вы писали:
CEM>Неужели тебе приходится так часто редактировать диалоги?
У меня есть несколько программ типа "single dialog", все никак не соберусь переделать их в оконный стиль с менюшками/тулбарами. Иногда приходится вставлять новые элементы или убирать старые, и VS при этом зачем-то перенумеровывает элементы, а перечислять их вручную лень, и переставлять в .rc-файле тоже лень. Так что периодически возникает мысль заиметь для этого что-то более внятное.
CEM>Сейчас в 10-ке вроде можно находу быстро менять 100-125-150-... и смотреть, как получилось.
Именно это я и делаю в виртуалках при тестировании. Но в перспективе буду менять рабочий ноутбук 17" FHD на 17-18" QHD или 4K, и сильно опасаюсь, что многие привычные программы в родном разрешении будут шибко мелкими, а 125/150 на весь экран будет выглядеть неаккуратно. Вот и хочется иметь софтину, которой можно растянуть/подправить окна/диалоги сторонних программ, чтоб нормально выглядели в родном разрешении экрана.