Comments 21
Когда там был последний релиз wtl? Лет 11 назад?
И вы написали просто окошко с двумя кнопками и текстовым полем?
Исходники вашего творчества архивом на народ ру? Гитхаб/гитлаб не современно?
Когда там был последний релиз wtl? Лет 11 назад?
А ради кого и чего я должен соблюдать ритуал, типа, использовать фреймворки только новые, даже если они избыточно тяжелые, вроде Qt, для простых пет-проектов?
И вы написали просто окошко с двумя кнопками и текстовым полем?
Да! Но, это вполне решает мои задачи. Считайте ее демо-программой, которая показывает реализацию некоторых неочевидных вещей.
Исходники вашего творчества архивом на народ ру? Гитхаб/гитлаб не современно?
Откровенно говоря, влом разбираться с Гитхабом. Что это меняет? Чем это лучше для меня или для вас?
Откровенно говоря, влом разбираться с Гитхабом. Что это меняет? Чем это лучше для меня или для вас?
Чтобы желающие смогли доработать программу
Чтобы желающие смогли доработать программу
Странное желание. Минусы показывают, что народу тема не интересна. Зачем тогда напрягаться насчет Гитхаба?
Так минусы из-за того, в том числе, что программу неудобно забирать, работать с ней. Вы бы ещё на какой-нибудь ucoz или мегааплоад выложили архивом.
Так минусы из-за того, в том числе, что программу неудобно забирать, работать с ней. Вы бы ещё на какой-нибудь ucoz или мегааплоад выложили архивом.
Для меня это удивительно, потому что, для меня, нет ничего удобней, чем скачать прямую ссылку на zip-файл. Это я и на Гихабе всегда делаю, скачал архив, распаковал вручную, где удобно, в своем каталоге, и работаю с ним. Что может быть лучше, я даже не представляю?! И Яндекс-диск – тоже неудобен?
Допускаю, что если у вас не «Форточки», а Линукс или Мак, то там могут быть нюансы. Однажды мне высказали претензии на pdf-файл справки, для моей старой обучающей программы. Мол, не читается он в Линуксе. Но, откуда мне это знать, если я ничего, кроме Виндоуз, не знаю? Благо, в том случае, я посоветовал использовать встроенную справку, программа была очень простая, что вполне было достаточно.
Чтобы публиковать свои пет-проекты на Гитхабе, я, по крайней мере, должен видеть в этом смысл. Но, если мои пет-проекты никому не интересны, судя по комментариям, то, зачем мне Гитхаб, если лично мне он не нужен?
Хотя, «капля камень точит». Если все начнут настаивать на публикации в Гитхабе, то, «почему бы и да»? Подумаю. Может быть, новые версии своей обучающей системы «L'école» и программы «МедиаТекст» я опубликую там. Они, для меня, более важны. Что касается демо-проектов, то посмотрим.
смотрите прикол на приложении написанном на C# теперь
в 98 было написано на С++ и потом переписали на C#, но прикол в том, что сейчас проект с XML надстройкой и С#/C++, монструозные, можно создать окно на С++ на легси api, окно хотябы точно можно создать
А где у вас собственно WTL используется ? У вас ведь в исходниках ничего от WTL нет?
WTL это https://github.com/Win32-WTL/WTL и диалоги там обычно делаются в редакторе ресурсов VisualStudio и все получается как и во всех Win прогах, поддержка тем тоже вроде под WTL была.
А где у вас собственно WTL используется ? У вас ведь в исходниках ничего от WTL нет? WTL это https://github.com/Win32-WTL/WTL
Собственно, сами h-файлы WTL, которые, по вашей ссылки находятся в папке WTL/Include у меня находятся в общем доступе (C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include)/ В последней версии WTL-10.320 – 20 файлов, общим размером менее полутора Мегабайт. Скачайте их из Интернета и положите в каталог, на который есть ссылки в проекте. Какие проблемы? Зачем стандартные файлы помещать в локальный проект?
и диалоги там обычно делаются в редакторе ресурсов VisualStudio и все получается как и во всех Win прогах, поддержка тем тоже вроде под WTL была.
Диалогами я, практически, не пользуюсь, просто, не люблю их. Мне и прототипы искать было очень тяжело, поскольку все, в том числе ИИ, очень любят диалоги. Компоненты в окнах, наверное, кроме меня никто не использует :) .
Вы опоздали лет на 20. В WTL ковырялись лет 20 назад. Сейчас это никому не интересно.
В Qt кастомный интерфейс делается элементарно, в т.ч. есть готовые компоненты для собственного фрейма окна.
Непонятно, в чем смысл вашей статьи. Возможно, вы хотели пропиарить себя или программу, но сама программа бесполезна. Полезной технической информации для разработчиков статья не несёт. На гитхабе таких бесполезных учебных проектов пруд пруди.
Вот если бы вы написали полноценную статью или библиотеку, как без боли добавить в legacy wtl приложение темную тему, это лично мне было бы интересно.
apply-windows-themes а там же без wtl есть какой-то способ получить доступ к теме
вон внизу легаси вставки может сработает
2vrEIhAajhM тут еще много - просто вал легаси код обзора ), но придётся смотреть все серии чтобы нужное уловить, но я помню он рассказывал о приколах к темам, но это не втл, а просто легаси
Приложение на WTL будет крохотным и не иметь внешних зависимостей.
Да, это сложнее, чем простое формошлепство
Вы опоздали лет на 20. В WTL ковырялись лет 20 назад. Сейчас это никому не интересно.
Мне интересно. Разве этого мало?
В Qt кастомный интерфейс делается элементарно, в т.ч. есть готовые компоненты для собственного фрейма окна.
Ну, да! Программа «MediaDownloaderQt5-5.4.3» занимает «всего лишь» 471 Мегабайт, качает, без спроса, кучу файлов. Интерфейс – ужасен – сделан в дремучем диалоговом стиле, который я видел еще 25 лет назад.
А что она делает? Да тоже самое – скачивает плейлисты и каналы с Ютуба. И, в чём ее преимущество? – Настроек побольше, которые вполне можно один раз выполнить и в конфигурационном файле «yt-dlp.conf».
Вам нравится такой подход – используйте на здоровье. Я возражать не буду. Зато новомодно, как бы.
Непонятно, в чем смысл вашей статьи.
По сути, это демо-проект, демонстрирующий:
– Реализацию «тёмной» темы на сверхлёгком движке WTL. Программы получаются микроскопические, по современным меркам, но, достаточно функциональными. Полученным загрузчиком, лично я, с удовольствием пользуюсь, вместо аналогичного, с которым сравниваю.
– Использование безфреймовых окон, ради эмуляции собственного «тёмного» фрейма.
– Оптимальная кастомизация стандартных контролов (CEdit и CButton), без использования сабклассинга и внешних файлов изображений. Для эмуляции системных кнопок я использую bmp-картинки, но они микроскопические.
– Демонстрация межпроцессного взаимодействия между консольной и оконными программами.
– Оптимальная работа с многострочным и однострочным редакторами. Кстати, в своем проекте «МедиаТекст», я использовал контрол «RichEdit», как более продвинутый. Теперь, в следующей версии, я заменю его на стандартный (явно недооцененный всеми) контрол «CEdit».
Вы считаете, этого недостаточно для статьи, здесь?
На гитхабе таких бесполезных учебных проектов пруд пруди.
Совершенно верно! «Никакая работа не кажется безнадёжной, если её . . . – делать другому!».
Вот если бы вы написали полноценную статью или библиотеку, как без боли добавить в legacy wtl приложение темную тему, это лично мне было бы интересно.
В «legacy» на С++ или другом языке?
Взяли бы бесплатную редакцию Delphi. Запустили среду и через 3 минуты и 23 секунды уже бы завершили свой проект. Memo1, Button1, Button2, OnClick1, OnClick2, ShellExecute/WinExec. Готово.
WxWidgets осваивается мгновенно, есть визуальные дизайнеры гуя. В итоге, не сложнее Delphi, обозримый фреймворк, не сильно распухший исполняемый модуль, теперь и с темной темой.
WxWidgets осваивается мгновенно, есть визуальные дизайнеры гуя. В итоге, не сложнее Delphi, обозримый фреймворк, не сильно распухший исполняемый модуль, теперь и с темной темой.
Это все пройденные этапы. Работал я и с Паскаль, еще на уровне «Object Professional», и с Qt, wxWidgets,, Win32++, MFC, и, совсем недавно, с DuiLib и DuiLib Editor. И даже на «чистом» WinAPI. Причем, и с ассемблером, тоже, немного «баловался», на уровне перекомпиляции бинарного кода (см. мой сайт https://erfaren.narod.ru/ ).
Но, именно WTL зацепил меня больше всего, поэтому все эти советы кому, на чем работать, да еще даваемые незнамо-кому – от лукавого, особенно, если их не просят.
Что касается «тёмной» темы, то, лично я, не сторонник ее. Просто, после публикации моей обучающей программы (последняя версия в https://habr.com/ru/articles/930868/ ), народ предъявил претензии, почему, мол, интерфейс не в «тёмной» теме? Вот и решил попробовать, насколько это реально именно на С++ / WTL? Оказалось, реально. Вопрос только стоит ли этим заниматься?
Нереально. WTL это по сути лёгкая обёртка над WinAPI ,сделанная в стиле ATL (по моему теми же авторами)
По крайней мере, включая Win10 винда не даёт возможности менять цвета ни полям ввода ни скроллбарам, ни меню. Так что выходит все равно базовые контролы делать все самому.
Далее, ко всему прочему, у нас нет кросс платформы, и ни какой "Реестр отечественного ПО" нам сразу не светит, ну если только не извращаться с wine.
Я, в свое время, это все проходил и в итоге, пошел по пути полностью своей UI либы, как те китайцы))
Если интересно: https://libwui.org базовые контролы все есть, как есть и вполне продовое приложение уже года 3 работает на ней.
Да и темы можно делать хоть темные хоть зелёные, это все в json указывается, чем-то на примитивный css похоже.
Нереально. WTL это по сути лёгкая обёртка над WinAPI
Потому я её и использую, что это «по сути лёгкая обёртка над WinAPI».
По крайней мере, включая Win10 винда не даёт возможности менять цвета ни полям ввода ни скроллбарам, ни меню. Так что выходит все равно базовые контролы делать все самому.
У меня, только, эмулирован фрейм окна, а базовые контролы: многострочный и однострочный класс CEdit и кнопки CButton и CBitmapButton – стилизуются из стандартных элементов управления. Так что «делать все самому» не надо, только наследование стандартных классов, их композиция и, как вариант, их сабклассинг.
Далее, ко всему прочему, у нас нет кросс платформы, и ни какой "Реестр отечественного ПО" нам сразу не светит, ну если только не извращаться с wine.
Для этого надо профессионально заниматься C++ / WTL. Поэтому, не надо требовать от пет-проектов больше, чем они могут дать. Смысл которых – не зависеть от «командиров программирования». И от кросс-платформы тоже. Линукс мне надо было предлагать в студенческие годы, когда я тянулся к командной строке и консоли. Но, тогда, нас всех переориентровали на Windows и привычные ПК. А сейчас тема работы вне «Форточек» лично мне уже не интересна.
Я, в свое время, это все проходил и в итоге, пошел по пути полностью своей UI либы, как те китайцы))
У китайцев громоздкое решение, хотя, поначалу, нравилось. Да и они его делали больше для себя, чем для Мира.
Если интересно: https://libwui.org базовые контролы все есть, как есть и вполне продовое приложение уже года 3 работает на ней.
Я быстро глянул, скриншотов готовых приложений не нашел. А в коде не понравился main(), поскольку, мне более привычен wWinMain().
Да и темы можно делать хоть темные хоть зелёные, это все в json указывается, чем-то на примитивный css похоже.
Опять же, лично мне темы не нужны (я экспериментировал ради пользователей), я предпочитаю использовать графику, как в своей обучающей программе «L'école» ( https://habr.com/ru/articles/930868/ ). Зачем там тема? Красиво и так!
Минималистский графический интерфейс, на C++ / WTL, для консольного загрузчика