Здравствуйте, c-smile, Вы писали:
V>>Ну ты попробуй. CS>А чего мне пробовать? Она у меня вызывается и работает там где надо (на окнах с DwmExtendFrameIntoClientArea например).
У меня тоже работает в 7-ке, как раз для DwmExtendFrameIntoClientArea, а в 10-ке DwmDefWindowProc всегда возвращает FALSE.
CS>Если бы всё так просто было ... Запусти видео а поверх него calculator.exe какой-нить в 10-ке — всё увидишь.
Видео ))
CS>А если несколько UWP окон то увидишь как весь стек размывается друг под другом.
Т.е., ты утверждаешь, что при прорисовке окна верхнего уровня, так же вызывается прорисовка низлежащих UWP-окошек?
ХЗ, надо попробовать.
Для обычных десктопных приложений я видел "размотку" z-order стека только для определения конкретного пикселя (уже нарисованного), но не увидел требований на перерисовку низлежащих окошек в этом процессе, как оно происходило в WinXP для окошек с полупрозрачностью.
Здравствуйте, vdimas, Вы писали:
V>А в приложениях UWP не переиспользуется ни че го. V>Прожорливые они даже в минимальном варианте.
А как прикажете переиспользовать, если каждое UWP-приложение — это своя песочница? Все необходимые assets должны идти зашитые в приложение или скачиваться в песочницу через известные урлы. Зато есть несомненный плюс — поддержка векторной графики, что вкупе с виртуальными дробными пикселями даёт великолепную картинку на любой ретине, потому что там windowless-рендеринг сразу на целевую поверхность (которую предоставляет ОС). Т.е. времена "всё есть hwnd, всё есть прямоугольник рисующий себя сам" давно прошли, и это хорошо
А насчёт прожорливости в минимальном варианте — ну, я помню ещё со студенчества песни "этот 'FoxPro/Delphi/нужное-вписать' даже пустой проект создаёт X 'кило/мега/нужное-вписать' байт". Не в прожорливости счастье в 80% случаев, а в соотношении 'результат/усилия'.
Здравствуйте, McSimoff, Вы писали:
MS>Здравствуйте, c-smile, Вы писали:
CS>>Вот для того чтобы сделать такое окно CS>>support-of-acrylic-themin CS>> CS>>ему нужно... CS>>Эра GDI прошла.
MS>Господа, а зачем вам рисовать самим интерфейс? Это должна ОС делать в соответствии с настройками пользователя и его темой оформления. Я давно сюда не писал, тут пришло новое поколение, кому-то классические кнопки не нравятся, которые ещё со времен MS-DOS и библиотек типа TurboVision (и аналоги *nix, см. MC) утвердили стандарт пользовательского интерфейса. Все эти потуги варягов в Microsoft с Aero-Metro-Acryl не приживаются. MS>Нарисуете вы свой интерфейс (раньше скин называлось), а в следующей версии Windows это не будет работать так, как вы задумывали. А вот программы со стандартным интерфейсом работают с 2000 года без перекомпиляции.
Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
Здравствуйте, Mr.Delphist, Вы писали:
V>>А в приложениях UWP не переиспользуется ни че го. V>>Прожорливые они даже в минимальном варианте. MD>А как прикажете переиспользовать, если каждое UWP-приложение — это своя песочница?
Переиспользовать можно доверенные либы.
В процессы UWP-приложений DLL-ки загружаются обычным образом.
Там всё отличие в том, что подгузка зависимостей статическая, с контролем зависимостей по манифесту, подписям и т.д.
А вот динамический LoadLibrary недоступен.
MD>Все необходимые assets должны идти зашитые в приложение или скачиваться в песочницу через известные урлы.
MD>Зато есть несомненный плюс — поддержка векторной графики
Эта поддержка есть и для десктопных приложений.
MD>Т.е. времена "всё есть hwnd, всё есть прямоугольник рисующий себя сам" давно прошли, и это хорошо
Тю, эти времена "прошли" еще в 2007-м году, с выходом Висты.
Уже тогда существовал нейтивный аналог XAML и уже тогда работал композитный менеджер.
Например, Mozilla Thunderbird уже в те года перешла на новую технологию, хотя это десктопное приложение.
Просто натрави на него Spy++ и убедись, что это одно системное окно, как и в случае UWP-приложух.
MD>А насчёт прожорливости в минимальном варианте — ну, я помню ещё со студенчества песни "этот 'FoxPro/Delphi/нужное-вписать' даже пустой проект создаёт X 'кило/мега/нужное-вписать' байт". Не в прожорливости счастье в 80% случаев, а в соотношении 'результат/усилия'.
По этому соотношению разрабатывать десктопные приложухи всё еще на порядок легче.
Здравствуйте, c-smile, Вы писали:
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
А что в нем вырвиглазного? Убрать панели (они мешают же, толку никакого), сменить шрифт на Прагмату — и збс. Проблема нотепада++ — отсутствие строки ввода команд. По менюхам уже не хочется лазить, а хочется начинать набирать "upper case" или "toggle comment"
А sub и vscode — те еще тормоза. Саб еще ничо, а vscode трындец, хуже emacs-а (с плагинами).
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
CS>Вот SublimeText который всё рисует сам:
CS>А вот народ экспериментирует с Visual Codeчтобы не так скучно было код херачить:
Я не соглашусь про вырвиглазный дизайн Notepad++. Тут оранжевый цвет не к месту. Возможно с шрифтами поиграть, но это всё личные настройки. Больше претензий нет.
В ваших примерах плоский дизайн. Кнопки управления окном (свернуть, закрыть) по сути отсутствуют. Это конечно MS наломали дров. TabControl, TreeView, StatusBar такие же плоские. Рамка окна отощала, менять размер окон стало сложнее. С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка. В вашем последнем скриншоте заголовок окна и фон одинаковый, т.е. отсутствуют визуально.
Тем не менее, если это сделано настройками темы, то всё нормально!
В целом, я как поклонник Windows Vista одобряю вектор дизайна от плоского Метро в сторону 3Д+прозрачность. Но должно быть это через темы сделано.
Здравствуйте, vdimas, Вы писали:
V>Эта поддержка есть и для десктопных приложений.
Векторная графика вот прямо как гибкое средство создания UI? Единственно что могу вспомнить в Win32-мире — это метафайлы и накрученный вокруг них API с частичной совместимостью между NT-веткой и десктопной. Помню как пришлось реализовывать функцию рендеринга метафайла с поворотом на произвольный угол, ибо такое API отсутствовало на Win9x...
V>Тю, эти времена "прошли" еще в 2007-м году, с выходом Висты. V>Уже тогда существовал нейтивный аналог XAML и уже тогда работал композитный менеджер.
Ну, не "аналог XAML", а так называемые windowless-версии некоторых системных контролов. Но, как это обычно бывает попервой, многое из необходимого поведения старого варианта контрола "ещё не поддерживалось" у безоконного правопреемника. Помнится, мы там с rich edit неплохо покувыркались в одном проекте, в итоге было принято решение "пока забить". WPF/UWP хороши именно тем, что это решение "под ключ", в комплексе, а не вкрячивание windowless-кусочка в стандартное HWND-окружение, а-ля ActiveX control.
Здравствуйте, McSimoff, Вы писали:
MS>В целом, я как поклонник Windows Vista одобряю вектор дизайна от плоского Метро в сторону 3Д+прозрачность. Но должно быть это через темы сделано.
Ну это и есть такая тема которую используют UWP приложения.
Состоит из трех цветов: text, background и accent (рамка окна здесь) + ambient color (blur behind):
Это calculator.exe из Windows 10.1803
accent color или задается пользователем или вычисляется автоматически по desktop background.
Здравствуйте, Mr.Delphist, Вы писали:
V>>Эта поддержка есть и для десктопных приложений. MD>Векторная графика вот прямо как гибкое средство создания UI?
Почему нет?
Таких овердохрена.
MD>Единственно что могу вспомнить в Win32-мире
Вспомнить от какого года?
Ты вспоминай после 2007-го.
V>>Тю, эти времена "прошли" еще в 2007-м году, с выходом Висты. V>>Уже тогда существовал нейтивный аналог XAML и уже тогда работал композитный менеджер. MD>Ну, не "аналог XAML", а так называемые windowless-версии некоторых системных контролов.
Э, нет, именно всё больше с тех пор библиотек, которые не пользуют системные контролы.
K>А юзер — ему нужно предсказуемое поведение, а не дизайнерский высер.
Клиентам эпла нужно именно отрицание всякой ортогональности, закономерности, соответствия везде одним и тем же правилам, и прочего ботанства.
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
MZ>Вот я бы убивал бы программеров, которые такой GUI делают.
у меня такое же отношение к CSS на сайтах. нафига, ведь в браузере уже есть стандартная тема отображения всех элементов?
а эти дизайнеры, блин, изгаляются, раскрашивают что-то. поубивал бы...
Здравствуйте, c-smile, Вы писали:
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
CS>Вот SublimeText который всё рисует сам:
А можно как-то приблизить рабочий стол к реальности и закидать его ярлыками? Есть предположение, что на фоне сочной травы и глубин космоса все, что угодно, будет выглядеть красиво. Вот только мой рабочий стол, как у виндоюзера, не похож на маковский.
Здравствуйте, c-smile, Вы писали:
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
CS>Image: notepad++-screenshot.jpg
Отличный интерфейс!
CS>Вот SublimeText который всё рисует сам:
CS>Image: windows.png
Убожество!
В 2018 году сами интерфейс рисуют только чудаки на букву "М".
MS>>С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка. CS>Ох... Это вот что-ли ? CS>Image: img_452589.png
причем тут хр?
Как много веселых ребят, и все делают велосипед...
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления" CS>Вот SublimeText который всё рисует сам:
Безотносительно к свойствам интерфейсов, цветовая гамма "светлым" по "черному" это и есть самое настоящее вырвиглаз. А точнее — вырвисетчатку. Потому что глаз регулирует уровень освещенности по средней яркости картинки.
Таким образом при монотонно ярком фоне и темном предмете на нем зрачок будет более узкий, чем при монотонно темном фоне и ярком предмете на нем.
А это значит плотность локального светового потока на участке сетчатки, куда сфокусировался яркий предмет на темном фоне, будет больше чем плотность светового потока от яркого фона.
А это значит — локальное выжигание сетчатки.
Те, кто юзают такие темы, со временем это 'чуют', и начинают предпринимать некоторые меры. Но вместо того чтоб сделать нормальный темный текст на светлом фоне (ведь это так не по-хипстерски), они просто убавляют яркость символов, снижая таким образом нагрузку на сетчатку, но повышая нагрузку на мышцы фокусировки хрусталика, т.к. на менее контрастных объектах сложнее сфокусироваться.
Как много веселых ребят, и все делают велосипед...
Здравствуйте, ononim, Вы писали:
MS>>>С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка.
O>Image: os_2.gif
Ой, спасибо! Уже в тему, но были у них и с цветом какие-то элементы управления.
Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, McSimoff, Вы писали:
CS>Ну это и есть такая тема которую используют UWP приложения. CS>Состоит из трех цветов: text, background и accent (рамка окна здесь) + ambient color (blur behind): CS>Image: 6k7evyu1h9zy.jpg CS>Это calculator.exe из Windows 10.1803
Тут типичный букет "косяков" плоского интерфейса. Заголовок окна с кнопками есть, но визуально отсутствуют. Ладно, в настройках можно галочку для заголовка поставить, а кнопки не доработаны. То же самое относится к кнопка М+, М- и т.д. Они выглядят как текстовые метки, а не как кнопки. Цифры и операции не доделаны, если это кнопка (в понимании вещественная, как на клавиатуре, микроволновке и т.д.), то она должны выглядеть как кнопка. Освещение сверху (справа или слева) и соответствующая тень. У MS со времен 95 были рекомендации/требования по GUI и значок Designed for Windows. Возможно, мы увидим материалы и текстуры на кнопках/элементах управления. По минимуму тут BitBlt справится и OWNERDRAW никто не отменял, а также любые формы окна можно сделать, но это ж лишнее. Мне довелось общаться/работать с одним дизайнером из полиграфии, так у них там куча заморочек. Тут в обсуждении такого не хватает.
P.S. Я тут писал до 2003. Регулярно read-only. Потом писал пару лет системный софт для заказчика в ЕС. Потом драйверописательством пока 64-бит и обязательные цифровые подписи не убили это направление, sharaware пробовал. Потом в одном Универе в одном WEB+DB лепил. Последние годы контроллерами занимаюсь...