Re[6]: Реализации независимых элементов GUI под винду
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 13.03.21 05:32
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Там в соседнем треде кинули проперти грид — так в деталях же захлебнуться можно на фоне любого внятного фреймворка.


Понятное дело: фреймворки используются массово, и подгоняются под массовые нужды, а подобные поделки — сугубо локальные.

SaZ>Жду от вас реальный пример контрола с кодом, который будет удовлетворять вашим требованиям.


Найду — поделюсь.

SaZ>Вы писали свои контролы?


Так, чтоб совсем с нуля — нет. Писал через Owner Draw обертки вокруг Picture Control, полностью отображающие себя сами, вокруг других — чуть меняющие поведение стандартных.

SaZ>А зачем вам использовать сразу всю возможную логику? Используйте только то, что вам нужно


Да я-то с удовольствием, но оно ж все равно тащит в EXE/DLL кучу зависимостей, от которых не избавиться никак, ибо на них завязан сам фреймворк.

SaZ>Опишите исходную решаемую задачу


Например, мне нужно сделать передачу в реальном времени нескольких звуковых потоков, чтобы свойства каждого потока отображались на экране по возможности компактно, но чтобы в любой момент их можно было развернуть в подробную картинку. Там нужно показывать и текстовые параметры (частоту дискретизации, разрядность отсчета, количество каналов и т.п.), и столбчатые индикаторы уровней сигнала, и графики задержек на буферизацию.

SaZ>и вашу мотивацию к наитивным контролам


Главная мотивация — простота реализации, но не ценой увеличения размера приложения в десятки раз (сейчас там всего 100-150 кило байт). Я понимаю, что на Qt это делается кратко и изящно, но Qt непременно тащит за собой всю машинерию по отрисовке, платформо-независимые обертки над системными функциями и прочее. Поэтому хочется иметь реализации типовых элементов (список, таблица, сворачиваемое дерево, масштабируемый график и т.п.) или в виде классов C++, или в виде процедур, которые можно легко обернуть в классы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.