Re[12]: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 08.07.05 16:29
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>Там живые люди ( включая команду Оффиса ) рассказывают как оно все там устроено.


A>Не путай тёплое с мягким. Офис как и IE это вообще говоря межплатформенные приложения. Использовать универсальную графическую библиотеку там просто необходимо.


Как согласуется это твое "Использовать универсальную графическую библиотеку там просто необходимо." (Например Harmonia)
и твое же "Народу нужны только HWND"?


A>Другое дело, что какую именно и как она будет внутри устроена... CorelDRAW 12 например выходит в Win и Mac версиях, но все контролы в CorelDRAW родные. Я не думаю, что в Corel сидят ребята глупее чем в Microsoft.


Просто Corel беднее. Не могут себе позволить хороших
специалистов по UI и usability

кстати, мое частное мнение:
c точки зрения usability Xara в разы сильнее.
Re[5]: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 08.07.05 16:40
Оценка:
Здравствуйте, Mazay, Вы писали:

M>Здравствуйте, c-smile, Вы писали:


A>>>
  • Табуляция не циклична. Tab на последнем контрле и Shift+Tab на первом не работают.

    CS>>А должна? Может лучше нужно "бибикать" в конце?.


    M>Не могу промолчать!!! Обязательно должна!!! Не все помнят про Shift-Tab, потому если проскочишь контрол, то назад не вернёшься. Как-то сталкивался с таким поведением программы — хотел убить программиста.


    Open Source проект однако. Берем и фиксим.


    M>PS. ИМХО

    M>Зря вы себя в рамки HTML загоняете: всё равно выглядеть будет не как в браузере, всё равно руками интерфейс писать никто не будет — будут дизайнером пользоваться (кстати дизайнер вообще будет?), сто пудов ваш HTML со временем выродится в свой особенный диалект. MS ведь не просто так изобретает XAML.

    А зачем отдельный дизайнер? Предполагается что Visual Studio HTML дизайнера будет достаточно на те случи когда
    дизайнер имеет смысл. На остальные случаи я думаю достаочно будет шаблонов-визардов. Типа dialog based app,
    frame/view based app. и т.д.
    Я как раз и не хочу изобретать XAML, а попытаться обойтись HTML — на самом деле как средство
    описания layout HTML/CSS очень мощная и гибкая конструкция.
    Единственное "но" — для использования на все 100 он должен быть встраиваемым.
  • Re[11]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 08.07.05 16:50
    Оценка:
    Здравствуйте, adontz, Вы писали:

    A>Здравствуйте, c-smile, Вы писали:


    CS>> Просто интересно в чем конкретно заключается это "внимательно"?


    A>Внимательно это значит раньше я просто поверил тебе на слово, что там должен быть SysTreeView32, а сейчас проверил.


    CS>>Т.к. BlockNote я писал самолично то зуб тебе даю что слева (Project Folder) стоит TreeView. Но Spy++ тебе показывает нечто другое . Это subclassing называется и есть три способа установления истинного класса окна.


    A>Ладно верю, что там TeeView subclassing. Не верю, что TreeView Сам по себе плохой. См. ниже.


    CS>>Чего-то ты не туда куда-то смотришь...

    CS>>Смотрим здесь

    A>А, ОК. Был не прав, но тебе от этого только хуже


    CS>>Меня тут справедливо поправили: Custom Draw и animation работает — не работает animation при double-buffering (WS_EX_COMPOSITE) — единственный известный штатный способ устранения flickering в Tree View.


    A>>>Я вот сейчас скачал новую версию Janus http://www.rsdn.ru/janus/RAHSetup1_1_4.zip

    A>>>Для отображения дерева сообщений там АФАИК используется custom draw listview написаный Владом, но ни он, ни даже Internet Explorer_Server не мигают. И ИМХО Влад подвига не совешал, просто всё более-менее грамотно сделал.
    A>>>Может дело не в ужасном мерзком HWND, а в кривых руках некоторых личностей ?

    CS>>Ну видишь ты же сам и говоришь что свои controls — это оно.


    A>Нет, не оно см. ниже.


    CS>>у меня вся Гармонь не мигает вкупе с HTML и alpha blending. А уж стартует и памяти кушает...


    A>Стандартные контролы никогда не кушали много памяти.


    CS>>ОТВЕТ: как бы это сказать помягше ... мне за мои GUI деньги платят — думаю не обидно будет?


    A>Я же тебе не говорю брость всё. Я сказал подумай ещё. Кроме того деньги платят это факт не качества, а востребованности. Есть множетство откровенно ужаных библиотек для которых прото нет конкурентов.


    CS>>А если серьезно то я советы такого уровня аргументации выслушиваю со вниманием от людей показывающих пальцем на нечто и говорящих "вот этот GUI сделал я!".

    CS>>Уж не обессудь.

    A>Вобщем вот что я тебе скажу, друг мой. Есть большая разница мужду написанием контрола с нуля и custom draw контролом. Ниже ссылочка угадай на что... Хе-хе на custom draw tree-view который выглядит как ваш (ну не совсем так же, но очень похоже, во всяком случае рисовательная сложность та же) и не мигает. При попытке ответить на вопрос, почему я за 25 мин соорудил такую классную вешь, а твои гуру выпустили мигающий продукт, я к сожалению склоняюсь к мысли, что это тот случай, где не я такой умный, а они такие не умные.


    Слушай, ну сделай ты
    a) gradient background у дерева.
    b) поставь его на непрямоугольное окно.

    а потом уже говори "но очень похоже, во всяком случае рисовательная сложность та же"

    а так это все дилетантски как-то выглядит.

    A>TreeViewCustomDrawTest


    Спасибо: давай я тебя сведу с разрабочиками. Каску одень только. Они в Москве.
    И кстати набирали народ насколько я знаю.

    A>Кстати стиль WS_EX_COMPOSITE я не нашёл. В принципе как можно убедится Spy++ даже если он и есть, он не используется


    Я ж и говорю — он не работает.

    A>Тут видишь ли какое дело. Когда ты ссылаешься свой авторитет, я думаю, а авторитет ли это для меня. И когда ты называешь людей которые делают фликерящие контролы очень умными, я начинаю сомневается, в том, что они действительно очень умные, тем более что их дерево просто неправильно рисуется


    Конечно нет. Безымянных авторитетов не бывает.
    Re[13]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 16:56
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>Как согласуется это твое "Использовать универсальную графическую библиотеку там просто необходимо." (Например Harmonia) и твое же "Народу нужны только HWND"?


    Универсальная библиотека имеет один интерфейс (в смысле использования, а не вснешнего вида) на всех платформах, но конкретные реализации под платформы модет быть разная. Например под линукс нет HWND, это не повод и под Windows обходится без них.

    A>>Другое дело, что какую именно и как она будет внутри устроена... CorelDRAW 12 например выходит в Win и Mac версиях, но все контролы в CorelDRAW родные. Я не думаю, что в Corel сидят ребята глупее чем в Microsoft.


    CS>Просто Corel беднее. Не могут себе позволить хороших специалистов по UI и usability


    Интуитивно понятный интерфейс это предсказуемый интерфейс. Используя стандартные контролы я предлагаю пользователю знакомую схему. Как я понял у тебя к стандартным контролам по функциональности нет претензий. Единственное что я услышал, это то что они медленно рисуются. Со знанием дела тебе заявляю — это не так. Они рисуются быстро если их использовать правильно.

    CS>кстати, мое частное мнение: c точки зрения usability Xara в разы сильнее.


    Возможно. Но суть в том, что коменде Корел удалось создать очень сложный интерфейс на основе стандартных контролов и я не вижу никаких недостатков этого подхода. Adobe тоже бедные родственники? А Вот Adobe Reader использует стандартные контролы там где это уместно.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[14]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 08.07.05 18:36
    Оценка:
    Здравствуйте, adontz, Вы писали:

    A>Здравствуйте, c-smile, Вы писали:


    CS>>Как согласуется это твое "Использовать универсальную графическую библиотеку там просто необходимо." (Например Harmonia) и твое же "Народу нужны только HWND"?


    A>Универсальная библиотека имеет один интерфейс (в смысле использования, а не вснешнего вида) на всех платформах, но конкретные реализации под платформы модет быть разная. Например под линукс нет HWND, это не повод и под Windows обходится без них.


    Microsoft в Avalon уходит от HWND. Т.е. наверное все таки он есть этот "повод и под Windows обходится без них"?


    A>>>Другое дело, что какую именно и как она будет внутри устроена... CorelDRAW 12 например выходит в Win и Mac версиях, но все контролы в CorelDRAW родные. Я не думаю, что в Corel сидят ребята глупее чем в Microsoft.


    CS>>Просто Corel беднее. Не могут себе позволить хороших специалистов по UI и usability


    A>Интуитивно понятный интерфейс это предсказуемый интерфейс. Используя стандартные контролы я предлагаю пользователю знакомую схему. Как я понял у тебя к стандартным контролам по функциональности нет претензий. Единственное что я услышал, это то что они медленно рисуются. Со знанием дела тебе заявляю — это не так. Они рисуются быстро если их использовать правильно.


    Странно ты слушаешь. Я никогда не говорил что отдельно взятый control медленно рисуется.

    Я говорил и говорю про то что комплексная система состоящая из HWND тяжела и например не расчитана на полупрозрачность child window — сиречь имеет ограничения для определнных типов UI.

    Причина совершенно прозаическая: для отрисовки 20 HWND нужно в процессе rendering создать
    и управлять 20ю HDC. Не говоря уже о всяких HFONT и пр.
    У меня rendering всего окна делается за один проход и GDI ресурсы реюзаются.

    Я никогда не говорил и не говорю что Harmonia это панацея.
    Есть "морды лица" а есть приложения типа MS Office, MSN Messenger, KlipFolio
    EverNote где это нужно и оправдано.

    Вот например Nokia LifeBlog application:




    CS>>кстати, мое частное мнение: c точки зрения usability Xara в разы сильнее.


    A>Возможно. Но суть в том, что коменде Корел удалось создать очень сложный интерфейс на основе стандартных контролов и я не вижу никаких недостатков этого подхода. Adobe тоже бедные родственники? А Вот Adobe Reader использует стандартные контролы там где это уместно.


    А где неуместно там не демонстрирует.

    Как я понимаю вопрос основной состит в определении этой самой "уместности".

    Еще раз: стандартные средства платформы никто не отменял. Но у них есть принципиальные
    ограничения. Как и принципиальные достоинсва.

    Я говорю единтсвенное — наступает такой момент или появляется такая задача где
    HWND перестают работать. Собственно эта мысл не нова и известна так как
    Microsoft уже уперся в эти ограничения по самое "не хочу".
    Avalon ставит жирный крест на попытке использования HWND в .NET (WinForms).

    Sic transit gloria mundi.
    Re[12]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 22:25
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>Слушай, ну сделай ты

    CS>a) gradient background у дерева.

    Вообще-то он сделан.

    CS>b) поставь его на непрямоугольное окно.


    Пожалуйста. Качать по старой ссылке. TreeViewCustomDrawTest

    CS>а потом уже говори "но очень похоже, во всяком случае рисовательная сложность та же"


    А сейчас как?
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[15]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 23:05
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>Microsoft в Avalon уходит от HWND. Т.е. наверное все таки он есть этот "повод и под Windows обходится без них"?


    Да, конечно уходит. Вопрос почему? Потому ли что HWND это плохо? ИМХО скорее чтобы сделать .Net Framework действительно минимально зависимым от win32.

    CS>Я говорил и говорю про то что комплексная система состоящая из HWND тяжела и например не расчитана на полупрозрачность child window — сиречь имеет ограничения для определнных типов UI.


    А я говорю, что не тяжела. Полупрозрачность это вешь тяжёлая для GDI вообще и с контролами связана мало.

    CS>Причина совершенно прозаическая: для отрисовки 20 HWND нужно в процессе rendering создать

    CS>и управлять 20ю HDC. Не говоря уже о всяких HFONT и пр.
    CS>У меня rendering всего окна делается за один проход и GDI ресурсы реюзаются.

    Ты не прав. При отрисовке окна с 20 контролами 20 HDC одновременно не требуется. Более того, если у тебя 20 кнопок то создавать для каждой HFONT тоже не метод. В приложении редко используется более десятка шрифтов.

    A>>Возможно. Но суть в том, что коменде Корел удалось создать очень сложный интерфейс на основе стандартных контролов и я не вижу никаких недостатков этого подхода. Adobe тоже бедные родственники? А Вот Adobe Reader использует стандартные контролы там где это уместно.


    CS>А где неуместно там не демонстрирует.


    А ты пройдись Spy++ по Adobe Reader. Там свои только окна где отображаются документы и верхняя панель инструментов. Все диалоги системные.

    CS>Еще раз: стандартные средства платформы никто не отменял. Но у них есть принципиальные ограничения. Как и принципиальные достоинсва.

    CS>Я говорю единтсвенное — наступает такой момент или появляется такая задача где HWND перестают работать. Собственно эта мысл не нова и известна так как Microsoft уже уперся в эти ограничения по самое "не хочу".

    OK, приведи мне задачу, где HWND действительно не справляются. Только давай без экстрима типа AVI-ролика в качестве фона для ListView. Давай задачу которую действительно нельзя сделать с помошью HWND. Пока что все твои примеры отличались глюкавостью, но при этом я не увидел никаких преимуществ. Пустой EverNote отожрал при запуске 8Мб. Это ли легковестность?

    Более того, вся эта возня вокруг custom draw кажется мне ненужным излишеством. Если пользователь захочет чтобы всё было красиво, то он просто включит темы XP и всё будет красиво. Причём красиво везде и одинаково. Зачем EverNote навязывает мне сине-жёлтую гамму? Вот я хочу красно-белую под цвет своего, а не украинского флага! Как мне это сделать? Ну скачал я тему ХР, ну применил. Но EverNote на это плевать
    Custom draw хорош, когда элемент имеет визуальное отображение, как например ComboBox со шрифтами название каждого из которых написано своей гарнитурой, но красить приложение вопреки системным настройкам ИМХО большое зло. Для тебя custom draw регулярно используемый инструмент — я же отнушусь к нему с осторожностью.

    CS>Avalon ставит жирный крест на попытке использования HWND в .NET (WinForms).


    Нет, не ставит. Более того, у них серьёзные проблемы с отрисовкой прозрачности (которая тебя спросить в windowless пара пустяков), фактически они её не поддерживают и предлагают пользоваться функциями GDI.
    http://blogs.msdn.com/nickkramer/archive/2005/06/24/432517.aspx
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[6]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 23:12
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>А зачем отдельный дизайнер? Предполагается что Visual Studio HTML дизайнера будет достаточно на те случи когда

    CS>дизайнер имеет смысл. На остальные случаи я думаю достаочно будет шаблонов-визардов. Типа dialog based app,
    CS>frame/view based app. и т.д.

    Как мне соблюсти эти рекомендации
    http://msdn.microsoft.com/library/en-us/dnwue/html/ch14d.asp
    http://msdn.microsoft.com/library/en-us/dnwue/html/ch14e.asp
    с помошью твоей библиотеки?
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[13]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 08.07.05 23:21
    Оценка:
    Здравствуйте, adontz, Вы писали:

    A>Здравствуйте, c-smile, Вы писали:


    CS>>Слушай, ну сделай ты

    CS>>a) gradient background у дерева.

    A>Вообще-то он сделан.


    CS>>b) поставь его на непрямоугольное окно.


    A>Пожалуйста. Качать по старой ссылке. TreeViewCustomDrawTest


    CS>>а потом уже говори "но очень похоже, во всяком случае рисовательная сложность та же"


    A>А сейчас как?


    У тебя
    1) нет анимации.
    2) при ресайзе плохо себя ведет border.
    3) при collapsing тем я вижу белый background.
    4) объяви окно главное окно layered.

    И можно считать что — да это такие же входные условия.
    Re[14]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 23:28
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>1) нет анимации.

    У EverNote её тоже нет.

    CS>2) при ресайзе плохо себя ведет border.

    Эту часть не я рисую. Можно border просто убрать, у EverNote его всё равно тоже нету.

    CS>3) при collapsing тем я вижу белый background.

    Как это? фон рисуется всегда целиком, там дыр быть не может.

    CS>4) объяви окно главное окно layered.

    У EverNote нет этого стиля.

    CS>И можно считать что — да это такие же входные условия.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[15]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 08.07.05 23:34
    Оценка:
    Здравствуйте, adontz, Вы писали:

    CS>>1) нет анимации.

    A>У EverNote её тоже нет.

    Хотя если добавить эффект развёртывания для меню и подсказок (был выключен), то появляется и анимация во всех TreeView, в том числе у EverNote и у меня.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[7]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 09.07.05 00:15
    Оценка:
    Здравствуйте, adontz, Вы писали:

    A>Здравствуйте, c-smile, Вы писали:


    CS>>А зачем отдельный дизайнер? Предполагается что Visual Studio HTML дизайнера будет достаточно на те случи когда

    CS>>дизайнер имеет смысл. На остальные случаи я думаю достаочно будет шаблонов-визардов. Типа dialog based app,
    CS>>frame/view based app. и т.д.

    A>Как мне соблюсти эти рекомендации

    A>http://msdn.microsoft.com/library/en-us/dnwue/html/ch14d.asp
    A>http://msdn.microsoft.com/library/en-us/dnwue/html/ch14e.asp
    A>с помошью твоей библиотеки?

    я использую сейчас GetStockObject(DEFAULT_GUI_FONT) как и рекомендовано.

    в будущей System theme вообще все шрифты и размеры.
    будут системно зависимые. (Если пользователь захочет выбрать системную тему)

    Еще раз повторюсь: смотря какой тип UI тебе нужен.
    Для опрделенных целей и задач VB 6 рулит по прежнему например.
    Re[16]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 09.07.05 01:06
    Оценка:
    Здравствуйте, adontz, Вы писали:

    A>Здравствуйте, c-smile, Вы писали:


    CS>>Microsoft в Avalon уходит от HWND. Т.е. наверное все таки он есть этот "повод и под Windows обходится без них"?


    A>Да, конечно уходит. Вопрос почему? Потому ли что HWND это плохо? ИМХО скорее чтобы сделать .Net Framework действительно минимально зависимым от win32.


    А зачем если в win32 все и так хорошо как ты говоришь?


    CS>>Я говорил и говорю про то что комплексная система состоящая из HWND тяжела и например не расчитана на полупрозрачность child window — сиречь имеет ограничения для определнных типов UI.


    A>А я говорю, что не тяжела. Полупрозрачность это вешь тяжёлая для GDI вообще и с контролами связана мало.


    Полупрозрачность к GDI никакого отношения не имеет. См. исходники Harmonia или спроси у McSeem2,
    От GDI там нужно уметь делать BitBlt и все.

    А вот к HWND имеет и очень даже. Система rendering в HWND устроена таким образом что
    практически не позволяет рисовать просвечивающие элементы.


    CS>>Причина совершенно прозаическая: для отрисовки 20 HWND нужно в процессе rendering создать

    CS>>и управлять 20ю HDC. Не говоря уже о всяких HFONT и пр.
    CS>>У меня rendering всего окна делается за один проход и GDI ресурсы реюзаются.

    A>Ты не прав. При отрисовке окна с 20 контролами 20 HDC одновременно не требуется. Более того, если у тебя 20 кнопок то создавать для каждой HFONT тоже не метод. В приложении редко используется более десятка шрифтов.


    Все зависит от класса окон. CS_CLASSDC, CS_OWNDC и т.д.
    Прежде чем рисовать HFONT окну надо где-то взять HFONT и выбрать
    его в HDC а потом в обратном порядке. И т.д.


    A>>>Возможно. Но суть в том, что коменде Корел удалось создать очень сложный интерфейс на основе стандартных контролов и я не вижу никаких недостатков этого подхода. Adobe тоже бедные родственники? А Вот Adobe Reader использует стандартные контролы там где это уместно.


    CS>>А где неуместно там не демонстрирует.


    A>А ты пройдись Spy++ по Adobe Reader. Там свои только окна где отображаются документы и верхняя панель инструментов. Все диалоги системные.


    И чего? О чем это говорит? Adobe Reader в принципе не UI rich application.
    Я теб привел кучу примеров где все наоборот.

    CS>>Еще раз: стандартные средства платформы никто не отменял. Но у них есть принципиальные ограничения. Как и принципиальные достоинсва.

    CS>>Я говорю единтсвенное — наступает такой момент или появляется такая задача где HWND перестают работать. Собственно эта мысл не нова и известна так как Microsoft уже уперся в эти ограничения по самое "не хочу".

    A>OK, приведи мне задачу, где HWND действительно не справляются. Только давай без экстрима типа AVI-ролика в качестве фона для ListView. Давай задачу которую действительно нельзя сделать с помошью HWND. Пока что все твои примеры отличались глюкавостью, но при этом я не увидел никаких преимуществ. Пустой EverNote отожрал при запуске 8Мб. Это ли легковестность?


    MS Office и MS Forms, IE, Opera, MSN, Windows Media Player, MS Money, KlipFolio,
    Avalon в конце концов.

    A>Более того, вся эта возня вокруг custom draw кажется мне ненужным излишеством. Если пользователь захочет чтобы всё было красиво, то он просто включит темы XP и всё будет красиво. Причём красиво везде и одинаково. Зачем EverNote навязывает мне сине-жёлтую гамму? Вот я хочу красно-белую под цвет своего, а не украинского флага! Как мне это сделать? Ну скачал я тему ХР, ну применил. Но EverNote на это плевать


    1) См. список выше.
    2) "темы XP и всё будет красиво". Эх-хе-хе...

    A>Custom draw хорош, когда элемент имеет визуальное отображение, как например ComboBox со шрифтами название каждого из которых написано своей гарнитурой, но красить приложение вопреки системным настройкам ИМХО большое зло. Для тебя custom draw регулярно используемый инструмент — я же отнушусь к нему с осторожностью.


    CS>>Avalon ставит жирный крест на попытке использования HWND в .NET (WinForms).


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

    A>http://blogs.msdn.com/nickkramer/archive/2005/06/24/432517.aspx

    Я так понимаю что ты невнимательно прочел...

    So every Avalon Window object is an hwnd. And it has to play by the rules that hwnds play by – inside that hwnd, Avalon can do all sorts of crazy stuff, but when it comes to other hwnds on the desktop, Avalon has to play by Win32 rules.


    Абсолютно то же самое что делает Harmonia. Только последней еще к тому же и .NET не нужен.
    Re[15]: Добавил Animation
    От: c-smile Канада http://terrainformatica.com
    Дата: 09.07.05 01:19
    Оценка:
    Здравствуйте, adontz, Вы писали:

    CS>>2) при ресайзе плохо себя ведет border.

    A>Эту часть не я рисую. Можно border просто убрать, у EverNote его всё равно тоже нету.

    А если он таки нужен? Это же часть стандартнаго HWND.

    И вообще глянь на Win Explorer. И скажи что в MS програмировать не умеют.

    CS>>3) при collapsing тем я вижу белый background.

    A>Как это? фон рисуется всегда целиком, там дыр быть не может.

    Тем не менее есть. У меня видеокарта средняя. видно здорово.

    CS>>4) объяви окно главное окно layered.

    A>У EverNote нет этого стиля.

    Значит есть setwindowregion.

    CS>>И можно считать что — да это такие же входные условия.
    Re[16]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 09.07.05 09:25
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>>>3) при collapsing тем я вижу белый background.

    A>>Как это? фон рисуется всегда целиком, там дыр быть не может.
    CS>Тем не менее есть. У меня видеокарта средняя. видно здорово.

    screenshot покажи.

    CS>>>4) объяви окно главное окно layered.

    A>>У EverNote нет этого стиля.
    CS>Значит есть setwindowregion.

    Это и у меня есть.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[17]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 09.07.05 09:38
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    A>>Да, конечно уходит. Вопрос почему? Потому ли что HWND это плохо? ИМХО скорее чтобы сделать .Net Framework действительно минимально зависимым от win32.


    CS>А зачем если в win32 все и так хорошо как ты говоришь?


    Затем, что он будет работать не только на win32

    A>>А я говорю, что не тяжела. Полупрозрачность это вешь тяжёлая для GDI вообще и с контролами связана мало.

    CS>Полупрозрачность к GDI никакого отношения не имеет. См. исходники Harmonia или спроси у McSeem2,
    CS>От GDI там нужно уметь делать BitBlt и все.

    То есть полупрозрачность ты делаешь ручками? А я тебе про AlphaBlend и всётакое говорю.

    CS>А вот к HWND имеет и очень даже. Система rendering в HWND устроена таким образом что практически не позволяет рисовать просвечивающие элементы.


    А как же регионы и layered windows?

    CS>Все зависит от класса окон. CS_CLASSDC, CS_OWNDC и т.д.

    CS>Прежде чем рисовать HFONT окну надо где-то взять HFONT и выбрать
    CS>его в HDC а потом в обратном порядке. И т.д.

    HFONT берется из WM_GETFONT

    CS>И чего? О чем это говорит? Adobe Reader в принципе не UI rich application.

    CS>Я теб привел кучу примеров где все наоборот.

    Ну вот, пошли уже отмазки rich UI, не rich UI. Какая разница? Я тебе говорю что есть два подхода при создании межплатформенной библиотеки, либо всё всегда рисовать самому, либо на каждой платформе пользоватся её родными средствами. Я выбираю второй путь, как юолеее правильный.

    A>>OK, приведи мне задачу, где HWND действительно не справляются.


    CS>MS Office и MS Forms, IE, Opera, MSN, Windows Media Player, MS Money, KlipFolio,

    CS>Avalon в конце концов.

    Ээээ... Я знаю Кунг-фу, Карате, Джиу-джитсу и много других страшных слов...
    Я тебе сказал приведи задачу, а не назови любимые приложения.

    CS>1) См. список выше.


    MS Office темы поддерживает, навязывает только цвет выделения, что нехорошо, но пережить можно, IE темы поддерживает, Opera MSN WMP в топку. Ты бы ещё ICQ вспомнил как пример интерфейса. Вот у Миранды — это интерфейс!

    CS>2) "темы XP и всё будет красиво". Эх-хе-хе...


    По крайней мере везде одинаково.

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

    A>>http://blogs.msdn.com/nickkramer/archive/2005/06/24/432517.aspx

    CS>Я так понимаю что ты невнимательно прочел...

    CS>

    CS>So every Avalon Window object is an hwnd. And it has to play by the rules that hwnds play by – inside that hwnd, Avalon can do all sorts of crazy stuff, but when it comes to other hwnds on the desktop, Avalon has to play by Win32 rules.


    Это ты невнимательноп прочёл

    We currently have a number of timing issues – if you resize or move the window at the wrong time, you can get into the situation where the application stops painting itself. You can also get rendering turds outside of the window, where the window used to be (these can be fixed by getting the background window to repaint, but not by moving the layered window over the turd). We're working on fixing these issues, not clear we’ll be able to fix it completely for XP due to limitations in Win32, but we should be able to do it for Windows Server 2003 SP1 and Longhorn.
    We don’t really support transparency color keys or plan to, because Avalon can't guarantee we render the exact color you asked for, particularly when hardware accelerated. There’s cases, for example, where we render 0x0000001 instead of 0x000000 – human eye sees both as black, but Win32 sees them very differently.


    CS>Абсолютно то же самое что делает Harmonia. Только последней еще к тому же и .NET не нужен.
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[16]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 09.07.05 09:44
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>И вообще глянь на Win Explorer. И скажи что в MS програмировать не умеют.


    Если двигать только его правую границу (размер дерева соответственно не меняется), то ничего не мигает. Тут дело в другом. Дерево папок это частный случай, система расшмряема и там может быть любое окно, так что перерисовывают его не от хорошей жизни, а для совместимости с глюками 3rd party extensions. Если внимательно поглядеть, то можно убедится, что его ручками заставляют перерисоваться. В MS решили, что лучше помигать, зато в статике больше глючных утилит будут работать. Решили ИМХО правильно — из двух зол...
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[17]: Добавил Animation
    От: Mamut Швеция http://dmitriid.com
    Дата: 09.07.05 10:27
    Оценка:
    CS>>>>3) при collapsing тем я вижу белый background.
    A>>>Как это? фон рисуется всегда целиком, там дыр быть не может.
    CS>>Тем не менее есть. У меня видеокарта средняя. видно здорово.

    A>screenshot покажи.


    У меня тоже появляется. Здесь ухитрился словить экстремальный момент при expanding:


    При коллапсинг скорости мышечной реакции не хватает Но белый фон виден


    dmitriid.comGitHubLinkedIn
    Re[18]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 09.07.05 12:53
    Оценка:
    Здравствуйте, Mamut, Вы писали:

    M>У меня тоже появляется. Здесь ухитрился словить экстремальный момент при expanding:

    M>

    Да, если отключены темы ХР и включена анимация, то иногда, в момент пока узел разворачивается всё заполняется белым фоном. Честно говоря из десятка раз увидел это всего 2 раза. Наверное глюк
    A journey of a thousand miles must begin with a single step © Lau Tsu
    Re[19]: Добавил Animation
    От: Mamut Швеция http://dmitriid.com
    Дата: 09.07.05 13:26
    Оценка:
    M>>У меня тоже появляется. Здесь ухитрился словить экстремальный момент при expanding:
    [image skipped]
    A>Да, если отключены темы ХР и включена анимация, то иногда, в момент пока узел разворачивается всё заполняется белым фоном. Честно говоря из десятка раз увидел это всего 2 раза. Наверное глюк

    Верно, темы отключены, но эффект стабильно проявляется как при разворачивании, так и при сворачивании узлов —


    dmitriid.comGitHubLinkedIn
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.