Страница 1 из 1

Быстрая смена скина, шкурки приложения.

Добавлено: 09 Июнь 2016, 19:41
gopstop2007
Работа из под терминала. Как сменить внешний вид одного и того же окна, меняя его размер и размеры объектов на нем, при этом оставляя весь его функционал? Например, программа стоит на персональном компьютере, окно 1900х1024, толщина(высота) кнопок 16. Выводим на планшет 800х600, кнопки толщина(высота) кнопок 24, плюс к этому высота строки в броузе и прочая мелочь :) Не говоря про мобильник...
Возможно изменение месторасположение объектов.

Быстрая смена скина, шкурки приложения.

Добавлено: 09 Июнь 2016, 23:09
kreator
Мне бы тоже было бы это интересно. Пока есть только мысль отдельно обрабатывать каждый контрол по какому-то заданному алгоритму, не знаю по какому. Но я сейчас (немного имею опыт разработки под планшет) пытаюсь сделать универсальное приложение. Например, иконки должны иметь размер 48х48. При работе пальцами на планшете размер комфортный, на мониторе с Full HD тоже комфортно, хотя кнопки с такими иконками несколько крупноваты.
И ещё у меня есть в голове идея как окно комфортно повернуть при смене ориентации, скажем, планшета. Но пока до реализации не дошёл.

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 10:17
gopstop2007
Похожее из клариона нашел только http://noyantis.com/solutions.html :(

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 10:28
Игорь Столяров
kreator писал(а): И ещё у меня есть в голове идея как окно комфортно повернуть при смене ориентации, скажем, планшета.
В принципе здесь можно не заморачиваться. Как-то обсуждали уже ....
Делаем все окна развернутыми на экран и стандартный Resize нормально отрабатывает поворот планшета.

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 10:40
gopstop2007
Понятно, что ресайзем можно частично решить проблемы, хотелось бы чтобы пользователь указал устройство на котором работает, размеры(диагональ) и подставляется готовый скин нужных размеров, из ранее "нарисованных" , аля как в winamp.

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 10:51
Игорь Столяров
Ну тут тогда надо идти по пути выбора каких-то фиксированных дизайнов интерфейса под разные экраны (и их размеры) ...

Если, предположим, в карточке с размером 400x200 есть 30-40 полей ввода, ну никак их не перерисуешь на размер 200x100 ...
Надо менять дизайн, разбивать окно ввода на закладки, изменять высоту выпадающих списков и т.д.
Т.е. делать какие-то разные фиксированные варианты дизайна.

Гипотетически - это конечно можно перерисовывать в динамике при открытии окна, но это страшный сон ....

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 11:06
gopstop2007
Типа создание с помощью ActiveX MFC, правда не знаю пока как с помощью клариона данный продукт использовать :(

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 11:25
kreator
gopstop2007 писал(а):Типа создание с помощью ActiveX MFC, правда не знаю пока как с помощью клариона данный продукт использовать :(
Сдаётся мне, это совсем не туда. Если речь о Ноянтис. Дизайн контролов поменяем. А размеры, а расположение?
Игорь Столяров писал(а):В принципе здесь можно не заморачиваться. Как-то обсуждали уже ....
Делаем все окна развернутыми на экран и стандартный Resize нормально отрабатывает поворот планшета.
Если окно очень простое, то да, всё хорошо. Но вот я сделал "форму" для планшета в книжной ориентации. Полей достаточно много, но в такой ориентации они все на экране, и экранная клавиатура не мешает. При повороте в альбомную имеем косяк, поля ушли вниз за экран. Нужен какой-то алгоритм перестроения контролов или вообще поменять концепцию "формы".

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 11:28
Игорь Столяров
kreator писал(а): При повороте в альбомную имеем косяк, поля ушли вниз за экран.
1. Конечно же поля на форме должны быть расположены с учетом возможного поворота экрана ...
2. Или включать в APPFRAME скроллинг экрана для MDI окон.

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 11:47
gopstop2007
kreator писал(а):Сдаётся мне, это совсем не туда. Если речь о Ноянтис. Дизайн контролов поменяем. А размеры, а расположение?
Это контейнер управляющих элементов и какая разница где они находятся? Посмотрите на снины winamp у него все кнопки и прочий интерфейс может располагаться по разному, но функции они выполняют правильно

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 12:10
Shur
kreator писал(а): Но я сейчас (немного имею опыт разработки под планшет) пытаюсь сделать универсальное приложение.
А вот интересно, когда меняется ориентация планшета, какое событие наступает в окне?
и меняются ли местами значения App{PROP:Width} и App{PROP:Height}?

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 13:00
kreator
gopstop2007 писал(а):Это контейнер управляющих элементов и какая разница где они находятся? Посмотрите на снины winamp у него все кнопки и прочий интерфейс может располагаться по разному, но функции они выполняют правильно
Может Вы и правы. А какая ноянтисовская хрень конкретно?
Shur писал(а):А вот интересно, когда меняется ориентация планшета, какое событие наступает в окне?
и меняются ли местами значения App{PROP:Width} и App{PROP:Height}?
Во всяком случает событие ресайза срабатывает и, думаю, ширина и высота меняется. Но я делал без фрейма, потому что нужно было вид приложения сделать максимально приближенным к смартфонам. С фреймом не покатило, уже не помню почему, честно говоря.

Быстрая смена скина, шкурки приложения.

Добавлено: 10 Июнь 2016, 13:05
Игорь Столяров
kreator писал(а): С фреймом не покатило, уже не помню почему, честно говоря.
Мне тоже сам по себе APPFRAME на планшете не нужен, его можно сделать фиктивным (пустым),
только для того, что бы в нем открывать MDI окна, обрабатывать события на их запуск и т.д.

Быстрая смена скина, шкурки приложения.

Добавлено: 14 Июнь 2016, 14:04
Губин Игорь
Добавил в программу следующие возможности
1. Масштабирование стандартного шрифта в настройках. Т.е. после открытия окна программа проходит по всем контролам и увеличивает/уменьшает шрифт на столько-то процентов.
2. Для всех окон введёно, по умолчанию, масштабирование контролов при масштабировании окна. Т.е. при изменении размеров окна программа проходит по всем контролам и меняет размер.
3. Введено сохранение размеров окна с выполнением масштабирования контролов при открытии окна в следующий раз

Для особо важных контролов/стилей в List введена отдельная настройка шрифтов с указанием имени шрифта и размеров.
Для некоторых окон добавлена возможность изменения размера отдельных контролов по отношению к другим (опять таки с сохранением и выполнением масштабирования при открытии окна)

Проверка на разных мониторах показала. что проблема решена, во всяком случае, жалоб, пока нет