Re[12]: [Windows] GDI - всё.
От: vdimas Россия  
Дата: 20.06.18 10:48
Оценка:
Здравствуйте, c-smile, Вы писали:

V>>Ну ты попробуй.

CS>А чего мне пробовать? Она у меня вызывается и работает там где надо (на окнах с DwmExtendFrameIntoClientArea например).

У меня тоже работает в 7-ке, как раз для DwmExtendFrameIntoClientArea, а в 10-ке DwmDefWindowProc всегда возвращает FALSE.

CS>Если бы всё так просто было ... Запусти видео а поверх него calculator.exe какой-нить в 10-ке — всё увидишь.


Видео ))


CS>А если несколько UWP окон то увидишь как весь стек размывается друг под другом.


Т.е., ты утверждаешь, что при прорисовке окна верхнего уровня, так же вызывается прорисовка низлежащих UWP-окошек?
ХЗ, надо попробовать.

Для обычных десктопных приложений я видел "размотку" z-order стека только для определения конкретного пикселя (уже нарисованного), но не увидел требований на перерисовку низлежащих окошек в этом процессе, как оно происходило в WinXP для окошек с полупрозрачностью.
Re[4]: [Windows] GDI - всё.
От: Mr.Delphist  
Дата: 20.06.18 14:10
Оценка: -1
Здравствуйте, vdimas, Вы писали:

V>А в приложениях UWP не переиспользуется ни че го.

V>Прожорливые они даже в минимальном варианте.

А как прикажете переиспользовать, если каждое UWP-приложение — это своя песочница? Все необходимые assets должны идти зашитые в приложение или скачиваться в песочницу через известные урлы. Зато есть несомненный плюс — поддержка векторной графики, что вкупе с виртуальными дробными пикселями даёт великолепную картинку на любой ретине, потому что там windowless-рендеринг сразу на целевую поверхность (которую предоставляет ОС). Т.е. времена "всё есть hwnd, всё есть прямоугольник рисующий себя сам" давно прошли, и это хорошо

А насчёт прожорливости в минимальном варианте — ну, я помню ещё со студенчества песни "этот 'FoxPro/Delphi/нужное-вписать' даже пустой проект создаёт X 'кило/мега/нужное-вписать' байт". Не в прожорливости счастье в 80% случаев, а в соотношении 'результат/усилия'.
Re[2]: [Windows] GDI - всё.
От: c-smile Канада http://terrainformatica.com
Дата: 20.06.18 16:02
Оценка: -4 :)
Здравствуйте, 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++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"




Вот SublimeText который всё рисует сам:




А вот народ экспериментирует с Visual Code чтобы не так скучно было код херачить:

Re[5]: [Windows] GDI - всё.
От: vdimas Россия  
Дата: 20.06.18 16:02
Оценка: +1
Здравствуйте, 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% случаев, а в соотношении 'результат/усилия'.


По этому соотношению разрабатывать десктопные приложухи всё еще на порядок легче.
Re[3]: [Windows] GDI - всё.
От: oziro Нигерия  
Дата: 20.06.18 16:21
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"


А что в нем вырвиглазного? Убрать панели (они мешают же, толку никакого), сменить шрифт на Прагмату — и збс. Проблема нотепада++ — отсутствие строки ввода команд. По менюхам уже не хочется лазить, а хочется начинать набирать "upper case" или "toggle comment"

А sub и vscode — те еще тормоза. Саб еще ничо, а vscode трындец, хуже emacs-а (с плагинами).
Re[3]: [Windows] GDI - всё.
От: rudzuk  
Дата: 20.06.18 16:31
Оценка: +1
Здравствуйте, c-smile, Вы писали:

c> А вот народ экспериментирует с Visual Code чтобы не так скучно было код херачить:


Хипстота во все поля.
avalon/2.0.6
Re[3]: [Windows] GDI - всё.
От: McSimoff Россия  
Дата: 20.06.18 17:01
Оценка:
Здравствуйте, c-smile, Вы писали:


CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"


CS>Вот SublimeText который всё рисует сам:


CS>А вот народ экспериментирует с Visual Code чтобы не так скучно было код херачить:


Я не соглашусь про вырвиглазный дизайн Notepad++. Тут оранжевый цвет не к месту. Возможно с шрифтами поиграть, но это всё личные настройки. Больше претензий нет.

В ваших примерах плоский дизайн. Кнопки управления окном (свернуть, закрыть) по сути отсутствуют. Это конечно MS наломали дров. TabControl, TreeView, StatusBar такие же плоские. Рамка окна отощала, менять размер окон стало сложнее. С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка. В вашем последнем скриншоте заголовок окна и фон одинаковый, т.е. отсутствуют визуально.
Тем не менее, если это сделано настройками темы, то всё нормально!
В целом, я как поклонник Windows Vista одобряю вектор дизайна от плоского Метро в сторону 3Д+прозрачность. Но должно быть это через темы сделано.
Re[6]: [Windows] GDI - всё.
От: Mr.Delphist  
Дата: 20.06.18 17:07
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Эта поддержка есть и для десктопных приложений.


Векторная графика вот прямо как гибкое средство создания UI? Единственно что могу вспомнить в Win32-мире — это метафайлы и накрученный вокруг них API с частичной совместимостью между NT-веткой и десктопной. Помню как пришлось реализовывать функцию рендеринга метафайла с поворотом на произвольный угол, ибо такое API отсутствовало на Win9x...

V>Тю, эти времена "прошли" еще в 2007-м году, с выходом Висты.

V>Уже тогда существовал нейтивный аналог XAML и уже тогда работал композитный менеджер.

Ну, не "аналог XAML", а так называемые windowless-версии некоторых системных контролов. Но, как это обычно бывает попервой, многое из необходимого поведения старого варианта контрола "ещё не поддерживалось" у безоконного правопреемника. Помнится, мы там с rich edit неплохо покувыркались в одном проекте, в итоге было принято решение "пока забить". WPF/UWP хороши именно тем, что это решение "под ключ", в комплексе, а не вкрячивание windowless-кусочка в стандартное HWND-окружение, а-ля ActiveX control.
Re[4]: [Windows] GDI - всё.
От: c-smile Канада http://terrainformatica.com
Дата: 20.06.18 17:23
Оценка:
Здравствуйте, McSimoff, Вы писали:

MS>В целом, я как поклонник Windows Vista одобряю вектор дизайна от плоского Метро в сторону 3Д+прозрачность. Но должно быть это через темы сделано.


Ну это и есть такая тема которую используют UWP приложения.

Состоит из трех цветов: text, background и accent (рамка окна здесь) + ambient color (blur behind):



Это calculator.exe из Windows 10.1803

accent color или задается пользователем или вычисляется автоматически по desktop background.
Отредактировано 20.06.2018 17:25 c-smile . Предыдущая версия .
Re[7]: [Windows] GDI - всё.
От: vdimas Россия  
Дата: 20.06.18 19:39
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

V>>Эта поддержка есть и для десктопных приложений.

MD>Векторная графика вот прямо как гибкое средство создания UI?

Почему нет?
Таких овердохрена.


MD>Единственно что могу вспомнить в Win32-мире


Вспомнить от какого года?
Ты вспоминай после 2007-го.


V>>Тю, эти времена "прошли" еще в 2007-м году, с выходом Висты.

V>>Уже тогда существовал нейтивный аналог XAML и уже тогда работал композитный менеджер.
MD>Ну, не "аналог XAML", а так называемые windowless-версии некоторых системных контролов.

Э, нет, именно всё больше с тех пор библиотек, которые не пользуют системные контролы.
Re[4]: [Windows] GDI - всё.
От: c-smile Канада http://terrainformatica.com
Дата: 20.06.18 23:00
Оценка:
Здравствуйте, McSimoff, Вы писали:


MS>С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка.


Ох... Это вот что-ли ?


MS>Я давно сюда не писал, тут пришло новое поколение,


Стеснюсь но спрошу: насколько давно?

И что Вы делали все эти годы когда вся прогрессивная общественность костьми ложилась в борьбе со skeumorphism-ом
Re[2]: [Windows] GDI - всё.
От: Osaka  
Дата: 20.06.18 23:31
Оценка:
K>А юзер — ему нужно предсказуемое поведение, а не дизайнерский высер.
Клиентам эпла нужно именно отрицание всякой ортогональности, закономерности, соответствия везде одним и тем же правилам, и прочего ботанства.
Данное сообщение является художественным произведением и освещает вымышленные события в вымышленном мире. Все совпадения с реальностью являются случайными. Не является инвестиционной рекомендацией.
Отредактировано 20.06.2018 23:34 Osaka . Предыдущая версия . Еще …
Отредактировано 20.06.2018 23:33 Osaka . Предыдущая версия .
Re[2]: [Windows] GDI - всё.
От: ov  
Дата: 21.06.18 01:02
Оценка:
MZ>Вот я бы убивал бы программеров, которые такой GUI делают.

у меня такое же отношение к CSS на сайтах. нафига, ведь в браузере уже есть стандартная тема отображения всех элементов?
а эти дизайнеры, блин, изгаляются, раскрашивают что-то. поубивал бы...
Re[3]: [Windows] GDI - всё.
От: ElSir  
Дата: 21.06.18 07:29
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"


CS>Вот SublimeText который всё рисует сам:


А можно как-то приблизить рабочий стол к реальности и закидать его ярлыками? Есть предположение, что на фоне сочной травы и глубин космоса все, что угодно, будет выглядеть красиво. Вот только мой рабочий стол, как у виндоюзера, не похож на маковский.
Re[3]: [Windows] GDI - всё.
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.06.18 09:54
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"


CS>Image: notepad++-screenshot.jpg

Отличный интерфейс!


CS>Вот SublimeText который всё рисует сам:


CS>Image: windows.png

Убожество!

В 2018 году сами интерфейс рисуют только чудаки на букву "М".
[КУ] оккупировала армия.
Re[5]: [Windows] GDI - всё.
От: ononim  
Дата: 21.06.18 10:56
Оценка:
MS>>С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка.
CS>Ох... Это вот что-ли ?
CS>Image: img_452589.png
причем тут хр?

Как много веселых ребят, и все делают велосипед...
Re[3]: [Windows] GDI - всё.
От: ononim  
Дата: 21.06.18 11:07
Оценка:
CS>Вот вырвиглазный Notepad++ в котором "ОС делает в соответствии с настройками пользователя и его темой оформления"
CS>Вот SublimeText который всё рисует сам:
Безотносительно к свойствам интерфейсов, цветовая гамма "светлым" по "черному" это и есть самое настоящее вырвиглаз. А точнее — вырвисетчатку. Потому что глаз регулирует уровень освещенности по средней яркости картинки.
Таким образом при монотонно ярком фоне и темном предмете на нем зрачок будет более узкий, чем при монотонно темном фоне и ярком предмете на нем.
А это значит плотность локального светового потока на участке сетчатки, куда сфокусировался яркий предмет на темном фоне, будет больше чем плотность светового потока от яркого фона.
А это значит — локальное выжигание сетчатки.
Те, кто юзают такие темы, со временем это 'чуют', и начинают предпринимать некоторые меры. Но вместо того чтоб сделать нормальный темный текст на светлом фоне (ведь это так не по-хипстерски), они просто убавляют яркость символов, снижая таким образом нагрузку на сетчатку, но повышая нагрузку на мышцы фокусировки хрусталика, т.к. на менее контрастных объектах сложнее сфокусироваться.
Как много веселых ребят, и все делают велосипед...
Отредактировано 21.06.2018 11:14 ononim . Предыдущая версия . Еще …
Отредактировано 21.06.2018 11:11 ononim . Предыдущая версия .
Re[6]: [Windows] GDI - всё.
От: McSimoff Россия  
Дата: 21.06.18 11:15
Оценка:
Здравствуйте, ononim, Вы писали:

MS>>>С элементом TabControl лучше всего дела обстояли в OS/2, они там и цветные и с любой стороны и как записная книжка.


O>Image: os_2.gif


Ой, спасибо! Уже в тему, но были у них и с цветом какие-то элементы управления.
Re[5]: [Windows] GDI - всё.
От: McSimoff Россия  
Дата: 21.06.18 11:49
Оценка: +1
Здравствуйте, 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 лепил. Последние годы контроллерами занимаюсь...
Re[5]: [Windows] GDI - всё.
От: AlexRK  
Дата: 22.06.18 11:44
Оценка: +1
Здравствуйте, c-smile, Вы писали:

CS>Это calculator.exe из Windows 10.1803


Неужто ЭТО кому-то нравится и кто-то считает ЭТО удобным?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.