Публикации
Последние новости:
 
Высокие технологии
Мир авто
Бизнес-финансы
Экономика как она есть
E-коммерция
Актуально о страховании
Банковский мир сегодня
Ценные бумаги и инвестиции
Операции с валютой
Бухгалтерские вести
Планета финансов
Современный бизнес
О рынке
Всё о культуре
ПроСпорт
Всё о компьютерах
Детское чтение
Мировые телекоммуникации
Пресс-релизы
 
Статьи
Мир культуры
Интересно о спорте
Покупаем:
ТурТранс
Для прекрасных дам
Усадьба, дом
 

Платный хостинг от провайдера HostSpace.com.ua - хостинг, регистрация доменов. Поддержка PHP, MySQL, почта - в каждом тарифном плане.





V8 Engine: формы и управление формами

Автор:WildHare

Источник: B-LOG








Появление бета-версии V8 означает, что можно отложить в сторону любимые игрушки (видели Postal-2? чума, а не игрушка) и заняться изучением новой платформы уже по-серьёзному
Первый вдумчивый взгляд, брошенный на дерево Синтаксис-Помощника (который и в бете остался всё таким же откровенно ущербным в использовании) вызывает лёгкую оторопь. Всё не так. Вдумчивое изучение кода той же ТиС вызывает оторопь уже тяжёлую.

Но ведь поговорку про "тяжело в учении" придумали умные люди, верно? ;-)

Начал я, естественно, не с "прикладных объектов" и даже не с "системных коллекций". Я начал с форм. При беглом осмотре СП мне попалась ветка "ЭлементыУправления" – сами понимаете, дальше я уже не ушёл. Это что же, у нас наконец-то появилось настоящее управление формой из кода? Проведенные эксперименты показали – таки да, появилось.

Сами по себе формы V8, даже без динамического управления – это уже вещь. И дело не в том, что программисту доступна куча "предустановленных" бантиков (прогресс-бары, календари, тулбары, бегущие строки и прочее). Вовсе нет. Главных фич две: панели и привязки.

Что есть панели? Это значит, что форму теперь можно делить на области, каждая из которых живёт своей жизнью. Каждая может содержать любое количество страниц (переключаемых закладками). И настраивается всё это хозяйство визуально. Никаких больше Закладки.ДобавитьЗначение… Ёмкость форм увеличилась несказанно, формы стали если и не совсем резиновыми, то очень близкими к этому состоянию.

А что есть привязки? Это управление масштабированием элементов формы. Поведение элементов формы при изменении размеров окна теперь полностью под нашим контролем: этот остаётся слева внизу, этот прижимается к верхней границе и растягивается по горизонтали на сколько хватит места. Ну и так далее. Правда, управление привязками сделано через задний проход: привязки настраиваются отдельно для каждого элемента (группы элементов), и происходит это в модальном окне.

Такое впечатление, что разработчики V8 в глаза не видели дизайнера форм из VisualStudio 7 (а уже доступна версия 7.1). Также из рук вон плохо сделана отработка ошибок, возникающих в процессе настройки привязок. Если вы задаёте некорректную привязку (скажем, привязываете левую границу контрола к правому соседу, а правую – к левому), то вы получаете сообщение из трёх букв. Никакой информации в сообщении не содержится, и искать неправильную привязку вам придётся самостоятельно. Более того, модальное окно откажется закрываться – придётся отключить все привязки, закрыть модальное окно, а потом уже думать, что же вы сделали не так.

В общем, сама идея привязок – на пять баллов, а вот инструментарий – на двойку. С минусом. Для бета-версии сойдёт, но вот в релизе хотелось бы видеть более эргономичную реализацию этого инструмента.

Но человек привыкает ко всему. Начав с полного нуля я за каких-то два часа изваял вот такую форму:

Справедливости ради стоит отметить, что на V7 за те же два часа можно изваять не только форму, но и написать весь код для неё.. Но та же справедливость требует отметить – это была моя первая форма на V8.

Естественно, при изменении размеров окна моя форма ведёт себя, как положено: рамки растягиваются, некоторые контролы (ползунки) тоже, некоторые контролы остаются при прежних размерах, но занимают позиции в нужных углах формы, ну и всё такое прочее.

И только теперь мы подходим к самому главному. Форма ведь была нарисована не просто так, а с целью испытать механизм управления элементами формы из кода. И это действительно работает: мало того, что можно задать практически любой параметр любому из существующих контролов, можно прямо из кода создать новый контрол, задать ему свойста (координаты, размеры, визуальный стиль, обработчики событий) и поместить в нужное место формы – и контрол там действительно появится. Ну а если можно добавить, то можно и удалить, верно? ;-)

Примеры кода я тут приводить не буду – в качестве примера см. внешнюю обработку, ссылка внизу.

Зачем это может быть нужно? Ну, скажем, если мы рисуем сложную форму, работающую по принципу wizardа, и у нас много ветвлений и много разных вариантов – можно не рисовать контролы заранее, а создавать их прямо из кода. Любые сложные универсальные формы, состав контролов которых зависит от контекста вызова формы – это потенциальная область применения.

Да и в любом случае – лучше, когда динамическое управление формами заложено в платформу, чем когда его нет в принципе.

За бортом пока осталась целая пачка возможностей: управление фокусом и оповещение о смене фокуса, механизм подчинения форм друг другу и обмен сообщениями, масса обрабочиков (ожидания, обновления формы, модификации и записи данных). Но всё это есть и (будем надеяться) всё это работает.



www.klerk.ru

Бухгалтерские вести 20-03-2007

Обновился настройщик Windows Ashampoo PowerUp 29-10-2008 Бухгалтерские вести
28.10.2008 Microsoft представила платформу Windows Azur 27.10.2008 Microsoft представил новую программу поддержки пользователей 27.10.2008 В Windows обнаружена опасная уязвимость 23.10.2008 Kerio MailServer - инструмент для работы с Microsoft Exchange 23.10.2008 Билл Гей...


Обновлен раздел "Документы" на Клерк.Ру 25-10-2008 Бухгалтерские вести
ИА "Клерк.Ру". Отдел новостей Сегодня, 24 октября, в раздел "Документы" на Клерк.Ру поступили следующие документы: Документы Минфина РФ: Письмо Минфина РФ № 03-11-04/3/451 от 03/10/2008Письмо Минфина РФ № 03-03-06/2/133 от 06/10/2008Письмо Минфина РФ № 03-03-06/1/559 от 06/10/2008Письмо Минфина РФ № 03-05-05-01/61 от 06/10/2008Письмо Минфина РФ № 03-11-04/3/430 от 12/09/2008Письмо Минфина РФ № 03-03-06/1/556 от 01/10/2008Письмо Минфина ...


Коэффициент 0,5 отменят не для всех 21-10-2008 Бухгалтерские вести
ИА "Клерк.Ру". Отдел новостей Таким образом, норма амортизации определяется на дату ввода объекта амортизируемого имущества в эксплуатацию и не может быть изменена в течение всего срока амортизации такого объекта. Новые правила амортизации, по которым с 1 января 2009 года понижающие коэффициенты по "дорогим" автомобилям и микроавтобусам, будут распространяться не на все подобные транспортные средства. При амортизации легковых автомобиле...


Путин подписал закон о портовых ОЭЗ 17-10-2008 Бухгалтерские вести
ИА "Клерк.Ру". Отдел новостей Президент РФ Владимир Путин подписал Федеральный закон "О внесении изменений в Федеральный закон "Об особых экономических зонах в Российской Федерации" и отдельные законодательные акты Российской Федерации".Документ принят Госдумой 11 октября 2007 г и одобрен Советом Федерации 17 октября. Законом предусматривается возможность создания портовых ОЭЗ на территориях нескольких муниципальных образовани...

Если у резидента есть имущество за пределами ОЭЗ 17-10-2008 Бухгалтерские вести
ИА "Клерк.Ру". Отдел новостей Если резидент ОЭЗ имеет за пределами особой экономической зоны имущество, то такое имущество подлежит налогообложению налогом на имущество организаций в общеустановленном порядке. В таком случае резидент обязан обеспечить отдельный учет облагаемых и необлагаемых налогом на имущество организаций объектов движимого и недвижимого имущества, то есть ведение отдельной оборотной ведомости, учитывающей остаточную стоимость ...

Учет расходов на выкладку товаров 17-10-2008 Бухгалтерские вести
Материал предоставлен компанией "Аудит МСК" (посмотреть все статьи) Специалисты компании «Аудит МСК» продолжают делиться опытом решения вопросов, возникающих у сотрудников финансовых служб предприятий. Данная публикация будет посвящена вопросу учета расходов на выкладку товаров. Для продвижения продукции на рынке поставщиком заключаются договоры с организациями розничной торговли и общественного питания, согласно которым последние обязуются осу...
 
При любом использовании материалов сайта ссылка на сайт www.archive.com.ua обязательна.
Rambler's Top100 Рейтинг@Mail.ru