Здравствуйте, AndrewVK, Вы писали:
AVK>Так потому и нельзя. Это приводит к серьезным проблемам.
На пример? AVK>Например для тебя не секрет, что в дотнете массив производного типа автоматически кастится к базовому.
Это касается только референс типов.
Давно пытался массив структур свести к массиву object'ов? Вот попробуй...
int[] a = new int[10];
object[] o = a;
error CS0029: Cannot implicitly convert type 'int[]' to 'object[]'
AVK>А теперь представь что произойдет если структуры можно будет наследовать?
Короче этот аргумент мимо кассы.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
AVK>>Так потому и нельзя. Это приводит к серьезным проблемам. WH>На пример?
Например размер структуры при наследовании может изменится. А поскольку массивы структур это просто непрерывные куски памяти и массивы могут каститься к базовому типу, то будут проблемы (ну либо надо при обращении к элементу проверять реальный тип массива в рантайме, что совсем не здорово).
AVK>>Например для тебя не секрет, что в дотнете массив производного типа автоматически кастится к базовому. WH>Это касается только референс типов.
Да. Но в этом случае элемент масива всегда указатель, т.е. им6ет фиксированный размер.
WH>Давно пытался массив структур свести к массиву object'ов? Вот попробуй... WH>
WH> int[] a = new int[10];
WH> object[] o = a;
WH>
error CS0029: Cannot implicitly convert type 'int[]' to 'object[]'
Разумеется. Размер массива потому что в этом случае разный.
Здравствуйте, adontz, Вы писали:
A>Один хрен. Пункт сервис должен быть вдавленным, а не подсвеченным.
Да что ты? А у меня почему то он в эксплорере подсвеченый:
AVK>>А ты? A>>>Влад сказал, что в Framework 1.0 будет поддержка тулбаров из MS Office, AVK>>
Во втором фрэймворке есть вообще полноценные МС Офисные меню и тулбары.
A>Ну да, во втором. У меня опчатка. Но суть в том, что будут именно офисные, а они unmanaged.
Рома, ну зачем ты так уверенно говоришь то, чего не знаешь? Да, будут офисные. Нет, чисто managed.
Здравствуйте, AndrewVK, Вы писали:
A>>Один хрен. Пункт сервис должен быть вдавленным, а не подсвеченным. AVK>Да что ты? А у меня почему то он в эксплорере подсвеченый: AVK>
Потому что если ты разбирался с Visual Styles API то мог заметить, что в теме Luna Blue для меню способы отрисовки вообще не определены и поэтому рисуется всё как попало. Без тем всё нормально, так же как и в Luna Silver, что впрочем скорее случайно.
Более того, чтоб не морочить друг другу голову темами запусти MSWord и убедись, что в MenuBar пункт выдвигается вперёд, но не подсвечивается.
Вобщем поведение, когда подсвечивается пункт MenuBar стандартным не является.
AVK>Рома, ну зачем ты так уверенно говоришь то, чего не знаешь? Да, будут офисные. Нет, чисто managed.
Текущие MsoCommandBar не managed. Вот вопрос — а будут ли их переписывать или сделают managed обёртку? При ответе на вопрос исходить из вопросов цены.
Здравствуйте, adontz, Вы писали:
A>>>Один хрен. Пункт сервис должен быть вдавленным, а не подсвеченным. AVK>>Да что ты? А у меня почему то он в эксплорере подсвеченый: AVK>>
A>Потому что если ты разбирался с Visual Styles API то мог заметить, что в теме Luna Blue для меню способы отрисовки вообще не определены и поэтому рисуется всё как попало. Без тем всё нормально, так же как и в Luna Silver, что впрочем скорее случайно.
Рома, ты лапшу на уши не вешай. Во первых скриншоты приведены не для Luna вобще. Во-вторых для Luna точно такая же картина, только цвет выделения другой. Вот если вобще темы отключить, то будет как ты говоришь — вдавленный. Но почему мы должны ориентироваться на интерфейс без тем?
A>Более того, чтоб не морочить друг другу голову темами запусти MSWord и убедись, что в MenuBar пункт выдвигается вперёд, но не подсвечивается.
У меня Word 2003, там вобще все совершенно иначе. Но хоть бы и так — почему нужно ориентироваться на MSWord? А почему к примеру не на Maxthon?
A>Вобщем поведение, когда подсвечивается пункт MenuBar стандартным не является.
А никто стандартность и не обещал.
AVK>>Рома, ну зачем ты так уверенно говоришь то, чего не знаешь? Да, будут офисные. Нет, чисто managed.
A>Текущие MsoCommandBar не managed.
А с чего ты взял что в фреймворке MsoCommandBars используются?
A> Вот вопрос — а будут ли их переписывать или сделают managed обёртку?
Здравствуйте, AndrewVK, Вы писали:
AVK>Во первых скриншоты приведены не для Luna вобще. Во-вторых для Luna точно такая же картина, только цвет выделения другой.
У меня Luna Silver и всё как надо.
AVK>Вот если вобще темы отключить, то будет как ты говоришь — вдавленный. Но почему мы должны ориентироваться на интерфейс без тем?
Потому что темы это очень неряшливо сделанная вешь, что видно как по API, так и по отрисовке.
AVK>У меня Word 2003, там вобще все совершенно иначе. Но хоть бы и так — почему нужно ориентироваться на MSWord? А почему к примеру не на Maxthon?
Я просто привёл пример. Есть куча других программ с тем-же поведением.
A>>Вобщем поведение, когда подсвечивается пункт MenuBar стандартным не является.
AVK>А никто стандартность и не обещал.
А вот это странно. Зачем менять привычный интерфейс, не добавляя при этом функциональности? Тогда можно меню поместить вниз, а статусную строку наверх. Работать-то будет, но зачем так делать?
AVK>А с чего ты взял что в фреймворке MsoCommandBars используются?
Влад сказал что в 2.0 будут именно офисные.
AVK>Их уже переписали.
Здравствуйте, adontz, Вы писали:
AVK>>Во первых скриншоты приведены не для Luna вобще. Во-вторых для Luna точно такая же картина, только цвет выделения другой.
A>У меня Luna Silver и всё как надо.
AVK>>Вот если вобще темы отключить, то будет как ты говоришь — вдавленный. Но почему мы должны ориентироваться на интерфейс без тем?
A>Потому что темы это очень неряшливо сделанная вешь, что видно как по API, так и по отрисовке.
Думаю не все с тобой согласятся.
AVK>>У меня Word 2003, там вобще все совершенно иначе. Но хоть бы и так — почему нужно ориентироваться на MSWord? А почему к примеру не на Maxthon?
A>Я просто привёл пример. Есть куча других программ с тем-же поведением.
И есть куча с другим. Что дальше? Вобще, судя по тому что ты утверждаешь что в Luna меню должно быть вдавленным, как будто тема не работает, у тебя явно какие то проблемы с машиной.
AVK>>А никто стандартность и не обещал.
A>А вот это странно. Зачем менять привычный интерфейс,
Для меня привычным является именно тот, который сейчас реализован, поскольку он полностью совпадает с системным.
A> не добавляя при этом функциональности? Тогда можно меню поместить вниз, а статусную строку наверх. Работать-то будет, но зачем так делать?
Не знаю. А зачем так делать?
Что же касается отрисовки — ты сам очень хороший пример привел. В 2003 офисе менюхи и не подсвеченные и не вдавленные, а свои собственные. Думаешь в МС идиоты работают?
AVK>>А с чего ты взял что в фреймворке MsoCommandBars используются?
A>Влад сказал что в 2.0 будут именно офисные.
Офисные значит такие же как в офисе, неужели непонятно?
AVK>>Их уже переписали.
A>До офисных им ещё плыть и плыть.
Ты их видел? Тогда расскажи в каком месте им еще плыть.
Здравствуйте, AndrewVK, Вы писали:
A>>Потому что темы это очень неряшливо сделанная вешь, что видно как по API, так и по отрисовке. AVK>Думаю не все с тобой согласятся.
Я знаю уже как минимум одного человека который не согласиться
A>>А вот это странно. Зачем менять привычный интерфейс, AVK>Для меня привычным является именно тот, который сейчас реализован, поскольку он полностью совпадает с системным.
А вот у меня он с ситемным не совпадает и потому и не привычен.
AVK>Что же касается отрисовки — ты сам очень хороший пример привел. В 2003 офисе менюхи и не подсвеченные и не вдавленные, а свои собственные. Думаешь в МС идиоты работают?
Думаю что Янус и Офис делают разные люди и если полёт фантазии создателей офиса имеет под собой научную основу, то в Янусе как кому в голову пришло так и сделали. В таких случаях лучше не делать себе комплимент и не думать что самый лучший в мире вкус у тебя, а просто прочитать какой-нибудь стандарт на GUI (у того же MS их навалом) и чётко следовать рекомендациям. произведение искусства конечно не выйдет, но по крайней мере некоторое базовое удобство работы будет обеспечено.
Я просто не хочу опять скатываться на ругание Януса, но и так многострадальный, но это тот проект "за стеклом" по которому многие судят о .Net и как ни крути интерфейс у Януса оставляет желать лучшего.
AVK>Офисные значит такие же как в офисе, неужели непонятно?
Вообще-то нет
AVK>Ты их видел? Тогда расскажи в каком месте им еще плыть.
В плане предоставления аналогичного API для внешних расширений.
Здравствуйте, adontz, Вы писали:
A>Выделение в MenuBar У вас не стандартное
У меня все ОК.
A>>> Про жуткие проблемы с фокусом и вообще модальными окнами я и не говорю. VD>>Правильно. Не говори. Нет их.
A>Однако они есть. Например так. A>Выбрать Сервис\Синхронизация с сервером. Во время синхронизации нажать "отмена" (окно синхронизации остаёться почти навечно) A>Если потом выбрать Сервис\Подписка на форумы, то оно будет модальным для обоих окон, хотя как показал Spy++ эти два окна никак не связаны.
Нажал... синхронизация остановилась после очередного шага.
A>Они не особо-то managed и не ясно сколько займёт MsoCommandBar redistributable и кому он будет нужен такой большой учитывая, что такие монстры мало кому нужны.
Когда как. Но по мне это не важно. Главное, что они есть и они удобны.
A>Ты будешь удивлён, но в Си++ тоже есть namespace'ы Так что с этим проблем нет
Ты будешь удивлен, но я знаю. Вот только редко можно увидить код использующий возможности распределения имен.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, AndrewVK, Вы писали:
AVK>>
A>Один хрен. Пункт сервис должен быть вдавленным, а не подсвеченным.
Кому должен? Я вот открыл Вынькомандер и Нотпэд... в обоих программах мени ведут себя точно так же как в Янусе. Да и пофигу мне кто кому должен. Выглядит прилично, использовать удобно. Остальные притензии идут в лес.
A>Ну да, во втором. У меня опчатка. Но суть в том, что будут именно офисные, а они unmanaged.
Я не утверждал что они именно из Офиса. Я имевл виду, что они такие же как в Офисе. Вот сейчас бросил беглый взгляд на них... Похоже, что они как раз чисто менеджед. Только отрисовываются через GDI и плюют на GDI+. Наследуются они от ScrollableControl и даже не перекрывают CreateHandle.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, adontz, Вы писали:
A>>>А вот это странно. Зачем менять привычный интерфейс, AVK>>Для меня привычным является именно тот, который сейчас реализован, поскольку он полностью совпадает с системным.
A>А вот у меня он с ситемным не совпадает и потому и не привычен.
Ну что ж, могу тебе только посочувствовать.
AVK>>Что же касается отрисовки — ты сам очень хороший пример привел. В 2003 офисе менюхи и не подсвеченные и не вдавленные, а свои собственные. Думаешь в МС идиоты работают?
A>Думаю что Янус и Офис делают разные люди и если полёт фантазии создателей офиса имеет под собой научную основу, то в Янусе как кому в голову пришло так и сделали.
Здорово. Т.е. то что можно МС, другим нельзя . Обоснования будут?
A> В таких случаях лучше не делать себе комплимент и не думать что самый лучший в мире вкус у тебя,
Я так не думаю. И вобще — все вобщем то скопированно полностью с XPшного меню, никакой самодеятельности тут нет. А то что не поддерживаются сразу два стиля — и старый и новый, так и Офис тоже их не поддерживает (и не только он, надо заметить).
A>Я просто не хочу опять скатываться на ругание Януса, но и так многострадальный, но это тот проект "за стеклом" по которому многие судят о .Net и как ни крути интерфейс у Януса оставляет желать лучшего.
Пока что ты не привел ни единого аргумента почему это так.
AVK>>Ты их видел? Тогда расскажи в каком месте им еще плыть. A>В плане предоставления аналогичного API для внешних расширений.
Давай конкретно — какого API, существующего в офисном тулбаре, не хватает в нетовском?
Здравствуйте, AndrewVK, Вы писали:
A>>А вот у меня он с ситемным не совпадает и потому и не привычен. AVK>Ну что ж, могу тебе только посочувствовать.
Понимаешь. Если бы Янус использовал системное меню котрое везде рисовалось бы так как в целевой системе стандартно это одно. Но ты выбрал какую-то одну модель, довольно новую и не очень качественную, и теперь утверждаешь что это истина в последней инстанции. Я вот KDE и GNome поглядел, там тоже менюбар не подсвечивается.
AVK>>>Что же касается отрисовки — ты сам очень хороший пример привел. В 2003 офисе менюхи и не подсвеченные и не вдавленные, а свои собственные. Думаешь в МС идиоты работают? A>>Думаю что Янус и Офис делают разные люди и если полёт фантазии создателей офиса имеет под собой научную основу, то в Янусе как кому в голову пришло так и сделали. AVK>Здорово. Т.е. то что можно МС, другим нельзя . Обоснования будут?
Если кратко, то QUOD LICET JOVI NON LICET BOVI.
Если подробнее, то MS имеет экпертов в UI, а команда разработчиков Януса нет, поэтому MS может отсечь ситуации, когда интуиция разработчика подвела, а конанда разработчиков Януса не может.
A>>Я просто не хочу опять скатываться на ругание Януса, но и так многострадальный, но это тот проект "за стеклом" по которому многие судят о .Net и как ни крути интерфейс у Януса оставляет желать лучшего. AVK>Пока что ты не привел ни единого аргумента почему это так.
Я уже показал, что два окна главное и синхронизации форумов, никак не связаны, но при этом окно подписки на форумы является модальным над обоими. Это нестандартное поведение, которое я вообще не понимаю как было реализовано.
AVK>>>Ты их видел? Тогда расскажи в каком месте им еще плыть. A>>В плане предоставления аналогичного API для внешних расширений. AVK>Давай конкретно — какого API, существующего в офисном тулбаре, не хватает в нетовском?
Здравствуйте, adontz, Вы писали:
A>>>А вот у меня он с ситемным не совпадает и потому и не привычен. AVK>>Ну что ж, могу тебе только посочувствовать.
A>Понимаешь. Если бы Янус использовал системное меню
Он и использует системное меню. Открой исходники и убедись.
A> ты выбрал какую-то одну модель, довольно новую и не очень качественную,
Я как то больше МС в вопросах юзабилити доверяю, нежели тебе.
A> и теперь утверждаешь что это истина в последней инстанции.
Цитату в студию где я такое утверждал.
A> Я вот KDE и GNome поглядел, там тоже менюбар не подсвечивается.
GNOME
AVK>>Здорово. Т.е. то что можно МС, другим нельзя . Обоснования будут?
A>Если кратко, то QUOD LICET JOVI NON LICET BOVI. A>Если подробнее, то MS имеет экпертов в UI, а команда разработчиков Януса нет, поэтому MS может отсечь ситуации, когда интуиция разработчика подвела, а конанда разработчиков Януса не может.
Но стиль, используемый в янусе, придумала команда разработчиков МС
AVK>>Пока что ты не привел ни единого аргумента почему это так.
A>Я уже показал, что два окна главное и синхронизации форумов, никак не связаны, но при этом окно подписки на форумы является модальным над обоими. Это нестандартное поведение, которое я вообще не понимаю как было реализовано.
Это просто ошибка в программе. Но ее никто не исправляет по одной простой причине — всем на это наплевать.
AVK>>>>Ты их видел? Тогда расскажи в каком месте им еще плыть. A>>>В плане предоставления аналогичного API для внешних расширений. AVK>>Давай конкретно — какого API, существующего в офисном тулбаре, не хватает в нетовском?
A>application.CommandBars.Add("MyBar")
A>из внешнего Си++/VB6/Delphi/WSH приложения
Ну и? Что это означает в контексте дотнетовского компонента?
Здравствуйте, adontz, Вы писали: A>Думаю что Янус и Офис делают разные люди и если полёт фантазии создателей офиса имеет под собой научную основу, то в Янусе как кому в голову пришло так и сделали. В таких случаях лучше не делать себе комплимент и не думать что самый лучший в мире вкус у тебя, а просто прочитать какой-нибудь стандарт на GUI (у того же MS их навалом)
А вот в этом месте я бы хотел, чтобы меня ткнули носом в этот "навалом". Последнее, что я читал на эту тему, было датировано 1997 годом и относилось к новому стандарту визардов.
Причем сама МС, судя по всему, не считает эти стандарты сколь-нибудь осмысленными. Ни одна из упоминаемых в стандарте метрик не выполняется, например, студийным генератором инсталлеров. Может быть, я просто пропустил что-то очевидное, и весь мир давно уже пользуется новой версией этого общедоступного стандарта?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, adontz, Вы писали:
A>Если подробнее, то MS имеет экпертов в UI, а команда разработчиков Януса нет, поэтому MS может отсечь ситуации, когда интуиция разработчика подвела, а конанда разработчиков Януса не может.
То-то у них диалог выбора файла так долго был неизменяемого размера. Эксперты, ептыть
Здравствуйте, AndrewVK, Вы писали:
AVK>Например размер структуры при наследовании может изменится.
И? AVK>А поскольку массивы структур это просто непрерывные куски памяти
Я знаю. AVK>и массивы могут каститься к базовому типу,
Массивы референс типов. А для валью типов это делать совсем не нужно. AVK>то будут проблемы
Не будут. AVK>(ну либо надо при обращении к элементу проверять реальный тип массива в рантайме, что совсем не здорово).
А с массивами референс типов так и происходит...
Base[] b = new Derived[1];
b[0] = new Base();//Тут будет исключение
System.ArrayTypeMismatchException: Attempted to access an element as a type incompatible with the array.
WH>>Это касается только референс типов. AVK>Да.
А мы вроде про валью типы говорим.
AVK>Разумеется. Размер массива потому что в этом случае разный.
Нет. Это по тому что типы принципиально не совместимые.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Sinclair, Вы писали:
S>А вот в этом месте я бы хотел, чтобы меня ткнули носом в этот "навалом". Последнее, что я читал на эту тему, было датировано 1997 годом и относилось к новому стандарту визардов.
А набор контролов с 95-го не особо-то и менялся, а базовые (checkbox, radiobox, edit, combobox) наверное и раньше были.
S>Причем сама МС, судя по всему, не считает эти стандарты сколь-нибудь осмысленными. Ни одна из упоминаемых в стандарте метрик не выполняется, например, студийным генератором инсталлеров.
Который MSI генерирует? Там новое что-то. Install Shield делает вполне стандартный интерфейс.
S>Может быть, я просто пропустил что-то очевидное, и весь мир давно уже пользуется новой версией этого общедоступного стандарта?
Нет, просто на эти стандартны все клали и кладут, а потом спрашивают — а чего это у нас интерфейс некузявый?
Из нескольких сотен программ, которые попадали мне в руки приличным в плане расстановки контролов интерфейсом обладали штук 5 наверное.
Вот и вопрос — что делать? Сказать "А мы что? Лучше других?" и повинуясь закону стада тоже забить на всё, создавая интерфейсы, где галочка справа от текста или таки потрудиться (а труд между прочим не малый) и расставить всё как полагается?
Ведь по сути в Visual Studio нет (в том-то всё и дело, что нет) редактора ресурсов позволяющего удобно рисовать стандарные (в плане размеров) интерфейсы. Стандартная рамка в 7DLU ничем не поможет в расстановке элементов внутри, а сетка вообще бесполезна. Надо было просто Edit/Checkbox/... окружить рамкой в 2DLU и GroupBox в 2/13/2/2, но этого никто не сделал и сейчас я, убедившись что радикально уже ничего меняться не будет, беру в зубы бумажку и калькулятор (тут по сценарию идёт церемония награждения меня ) и как 10 лет назад начинаю рисовать интерфейс вручную вбивая координаты.
Давай так, чтоб не быть голословным
Дай мне ссылку на скачку (trial) любой программы (в разумных пределах конечно, у меня dial-up всё таки. Ну скажем до 2.5Mb) и я с большой вероятностью найду ошибку в интерфейсе.
Здравствуйте, adontz, Вы писали:
Ага. То есть нету никакого навала. A>Который MSI генерирует? Там новое что-то. Install Shield делает вполне стандартный интерфейс.
Да ну прямо сразу так и стандартный. Тоже врут. А обнаружили мы это ровно тогда, когда нарисованная дизайнером (по спецификации МС) картинка не легла в диалог. A>Дай мне ссылку на скачку (trial) любой программы (в разумных пределах конечно, у меня dial-up всё таки. Ну скажем до 2.5Mb) и я с большой вероятностью найду ошибку в интерфейсе.
Не, давай чтоб не быть голословным, ты мне пришлешь ссылку на те самые стандарты, о которых ты тут упоминаешь. Мне почему-то кажется, что банальная VS, к примеру, нарушает любой из них практически в каждом окне.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>Не, давай чтоб не быть голословным, ты мне пришлешь ссылку на те самые стандарты, о которых ты тут упоминаешь. Мне почему-то кажется, что банальная VS, к примеру, нарушает любой из них практически в каждом окне.
Простенькая задачка — как задать порядок обхода элементов в редакторе диалогов? Я нашел только один способ, в МСДНе описано — надо нажать Ctrl+D.
Похоже, что других способов просто нет