Динамическая смена Title, Description и URL товара при смене артикула

    Используем плагин "Поля артикула" для того чтобы можно было задавать Title, Description и URL для каждого артикула. С помощью этого плагина можно эти данные получить на странице товара. Задача стоит в том, чтобы при смене артикула (цвет)...

    Доработать меню

    http://sunday-shop.ru/Необходимо переделать меню чтобы структура была как категории магазина. (В этих пунктах есть ещё вложенные) В моем понимании есть два варианта: собрать меню просто в HTML на основе категорий, и второй сделать...

    Здравствуйте!Создал несколько типов товаров и добавил для них характеристики (получилось почти 100 характеристик). Создал основные категории. При создании динамической категории мне предлагается выбор из всего перечня характеристик для всех типов...

    Подскажите пожалуйста. У меня на сайте категория Новинки-динамическая. Как можно ограничить, чтобы там показывались только страниц 20-30, а то уже за 100 перевалило.{foreach $products as $p} {if $category.id ==XX && $p@iteration > YY }{break}{/if}XX...

    Доброго времени суток!Есть динамический список последних добавленных товаров, "Правило формирования списка" = "Дата добавления"!Каким способом можно исключить некоторые товары из этого динамического списка списка?Можно менять дату...

    Всем привет!Возможно ли разделить вывод обычных категорий (например в одном месте: меню верхнее горизонтальное), и вывод динамических категорий в меню слева/справа?Для наглядности вот скрин: https://yadi.sk/i/YftP_ummhdGis

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

    Есть решение

    Динамические категории вещь очень полезная, но есть огромное НО - галочка по дефолту, которую невозможно снять, которая блокирует фильтрацию по всем существующим категориям и разрешает фильтровать только категории, входящие в родительскую. Как...

    Добрый день, подскажите плиз, при создании динамической категории, в настройках где можно задать параметры отбора по характеристикам, у меня есть характеристика числовой-значение-длина (мм), на пример по цене есть возможность задать дипазон, а по этой...

    Здравствуйте.Подскажите пожалуйста. У меня на сайте категория Новинки-динамическая. Как можно ограничить. чтобы там показывались только последние 200 товаров.?

    +6

    Нужно обязательно сделать формирование уникальных страниц при динамической фильтрации товаров!То есть например у меня на сайте есть категории и подкатегории, и когда я провожу фильтрацию товара в подкатегории (например выбираю золото, вставка -...

    Есть решение

    Добрый день! Подскажите пожалуйста, как сделать динамическую категорию, задав в фильтр несколько значений одной характеристики. Т.е. у меня есть характеристика: длинна 1 м, 2 м, 3 м, 4 м и т.д., нужно создать категорию, где будут отображаться, допустим...

    Такой возможности нет. Как вариант - добавить таким товарам дополнительную характеристику, которая была бы одинаковой для товаров длиной 1 и 2 м, и использовать ее в фильтре. Например, назвать ее Величина и задавать значения Малая - для 1 и 2 м, Средняя для 3 и 4 м, и так далее.

    Есть решение

    Здравствуйте, у меня следующий вопрос, начну с сути: на сайте есть 10 товаров (в которых по 10 характеристик), которые находятся в Категории №1 и ПодКатегории 2 (схематично так)Категория 1 (5 товаров)- ПодКатегория 2 (5 товаров)Мне необходимо создать...

    Я нашел решение мое проблемы, но при каждом обновлении системы настройки слетают.Мое решение позволяет создать категорию-фильтр с любой характеристикой, не завизимо в какой категории находится товар.В вайле wa-apps/shop/lib/classes/shopProductsCollection.class.php в методе categoryPrepare после строки$info = $this->info;добавить$info["parent_id"] = 0;Только это изменение "слетит" при установке обновлений для магазина.

    +1

    Динамические категории вещь очень полезная, но есть огромное НО - галочка по дефолту, которую невозможно снять, которая блокирует фильтрацию по всем существующим категориям и разрешает фильтровать только категории, входящие в родительскую. Хотелось...

    В товары -> услуги добавляю услугу со стоимостью услуги +50%, раньше в карточке товара эта цена менялась динамически при смене артикулов (цены артикулов разные). Сейчас не меняется в карточке товара, стоит изначальная, с первого артикула. А в...

    Определенные категории в выпадающее меню Есть решение

    Добрый вечер.Несложная штука вроде, однакож сам не могу сделать. Дано:1. Категории магазина, которых условно много.2. Есть обычное выпадающее меню во фронтенде. Надо сделать так, чтобы можно было выбирать (например через дополнительные параметры в...

    Буду рад сотрудничать. Skype: [email protected]

    Хочу узнать в любом из шаблонов в каком файле исходного когда может хранится переменная где можно указать ширину левого меню. У нас в каталоге длинные названия и они не влезают на одну строчку. Выход это увеличить ширину левого меню...

    Требуется вывод рекомендуемых товаров с динамическими допами

    Итак, задача:Есть товар, имеющий две меняющий характеристики - размер и цвет (кровати). И так же у рекомендуемых товаров меняется либо размер либо цвет (матрасы и тумбы)! Требуется сделать справа как тут http://joxi.ru/1A5aPzVtKZ780A при нажатии...

    Динамические цены

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

Ответьте на следующие вопросы и пришлите их в виде текстового документа MS Word:

Охарактеризуйте место операционных систем среди других видов программного обеспечения.

Каковы функции операционной системы?

4. Охарактеризуйте стиль работы с помощью графических операционных систем семейства Windows.

5. Назовите основные объекты Windows и опишите их назначение.

6. Какие функции выполняют меню Пуск? Поиск?

7. Как вызвать динамическое меню и каковы его возможности?

8. Охарактеризуйте назначение пунктов главного системного меню Windows.

9. В чем заключаются принципы Plug and Play OLE и Drag and Drop?

10. Опишите типичное окно Windows.

11. Охарактеризуйте стандартные приложения Windows.

12. Опишите развитие операционных систем семейства Windows.

1.Охарактеризуйте место операционных систем среди других видов программного обеспечения.

В компьютере одновременно работает много программ:
одна программа выводит изображение на монитор (видеодрайвер)
другая программа выводит на принтер (драйвер принтера)
третья - работает с мышью (драйвер мыши)
четвертая - с клавиатурой
пятая - с винчестером,
и т. д.
А ОС объединяет работу этих программ и управляет ими

2. Каковы функции операционной системы?

Основные функции операционной системы:

1. Обмен данными между компьютером и различными периферийными устройствами (терминалами, принтерами, гибкими дисками, жесткими дисками и т.д.). Такой обмен данными называется "ввод/вывод данных".

2. Обеспечение системы организации и хранения файлов.

4. Организация диалога с пользователем.

3.Охарактеризуйте основные ступеньки эволюции операционных систем.

Первое поколение.

40-е годы. Первые цифровые вычислительные машины без ОС. Организация вычислительного процесса решается программистом с пульта управления.

Второе поколение.

50-е годы. Появление прообраза ОС - мониторные системы, реализующие систему пакетной обработки заданий.

Пакетный режим

Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём ОС может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.

Третье поколение.

1965-1980 г.г. Переход к интегральным схемам. IBM/360. Реализованы практически все основные концепции, присущие современным ОС: разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы. Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера: привилегированный и пользовательский режимы, средства защиты областей памяти, развитой системы прерываний.

Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких, как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие, как массивные вычисления) - в пакетном режиме.

Четвертое поколение.

Конец 70-х. Создан рабочий вариант стека протоколов TCP/IP. В 1983 году он был стандартизирован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой Интернет, сделала этот стек протоколов основным стеком для большинства ОС.

Начало 80-х. Появление персональных компьютеров. Бурный рост локальных сетей. Поддержка сетевых функций стала необходимым условием. 80-е годы. Приняты основные стандарты на коммуникационные технологии локальных сетей: Ethernet, Token Ring, FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях.

Начало 90-х. Практически все ОС стали сетевыми. Появились специализированные сетевые ОС (например IOS, работающая в маршрутизаторах)

Последнее десятилетие. Особое внимание корпоративным сетевым ОС, для которых характерны высокая степень масштабируемости, поддержка сетевой работы, развитые средства обеспечения безопасности, способность работать в гетерогенной среде, наличие средств централизованного администрирования.

4.Охарактеризуйте стиль работы с помощью графических операционных систем семейства Windows.

С переходом на персональные компьютеры с процессором 80386 и с увеличенной памятью (не менее 4 Мбайт), на смену Norton Commander и характерному для DOS стилю работы в текстовом режиме пришла оболочка Windows и новый стиль работы с графическим интерфейсом. Идея графического интерфейса Windows заимствована компанией «Microsoft», долгое время специализировавшейся на операционных системах для персональных компьютеров IBM, у операционной системы для компьютеров Apple. Иногда Windows определяют не как оболочку, а как нечто большее, используя термин типа «операционная среда». При этом исходят из того, что если классическая оболочка (такая как Norton Commander) видоизменяет лишь пользовательский интерфейс, то программа типа Windows дополнительно к этому берет на себя управление программами и заданиями, т.е. реализует основные функции операционной системы.

Принципиально важные особенности Windows по сравнению с MS DOS - это многозадачность (допускается одновременное выполнение нескольких процессов) и возможность обмена данными между работающими программами. Важно и то, что Windows использует расширенную оперативную память (много больше 640 кбайт) и подразумевает единый интерфейс всех прикладных программ. Недаром утвердилось понятие «программировать под Windows», т.е. ориентироваться на стандартный графический интерфейс.

Название Windows - «окна» - говорит само за себя. Эта оболочка операционной системы построена на основе графических окон, соответствующих программным средствам и группам программных средств, которыми пользователь может управлять, изменять их размеры, перемещать по экрану, открывать и закрывать по своему желанию.

Оболочка Windows ориентирована на работу с помощью манипулятора «мышь». Все операции в этой среде в высокой степени унифицированы, все программные средства имеют очень схожие интерфейсы и принципы управления, что значительно ускоряет освоение новых программных средств.

5.Назовите основные объекты Windows и опишите их назначение

Группа файлов, объединенных по какому-либо критерию (аналог в NC – каталог).

Документ

Обычно изображаются на Рабочем столе как листочки бумаги с загнутыми уголками. Документ – любой файл, обрабатываемый с помощью приложений (программ). Документ может содержать текстовую, графическую, звуковую и видеоинформацию.

Легко узнать по изогнутой стрелочке в нижнем левом углу пиктограммы. Ярлыки представляют собой высокоэффективное средство ускоренного доступа к объектам. Ярлык можно «нацепить» на любой объект – файл, программу, сетевую папку, диск, значок и поместить в любой области интерфейса пользователя. Двойной щелчок по ярлыку открывает объект, с которым он связан.

Программы

В отличие от других объектов имеют каждая свое собственное «лицо» (пиктограмму).

Эффективное средство интеграции приложений. Его можно представить как некоторое динамическое пространство оперативной памяти для временного размещения данных обмена. Для занесения информации в буфер обмена и ее извлечения Windows имеет в своих меню команды Копировать, Вырезать, Вставить.

6.Какие функции выполняют меню Пуск? Поиск?

Меню «Пуск» в HYPERLINK "https://ru.wikipedia.org/wiki/Windows_XP" \o "Windows XP" Windows XP:

Отображение имени и HYPERLINK "https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D0%B0%D1%82%D0%B0%D1%80_(%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0)" \o "Аватар (картинка)" аватар пользователя

Доступ к браузеру и E-mail клиенту

Доступ к часто используемым программам

Открытие специальных папок

Выключение компьютера

Осуществляет поиск файлов и папок, а также компьютеров в сети

7.Как вызвать динамическое меню и каковы его возможности?

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

Если щелкнуть правой кнопкой значок диска в окне программы Мой компьютер, то появятся команды: Открыть, Проводник, Найти, Разделение, Форматировать, Вставить, Создать ярлык. Свойства. Так же как и для диска, команды динамического меню для файла зависят от типа файла и дублируют меню Файл. Правую кнопку мыши удобно использовать для перемещения или копирования файла из одного окна в другое папки Мой компьютер или Проводник. После транспонирования значка папки/файла с нажатой правой кнопкой мыши появляется динамическое меню, позволяющее указать цель транспортировки: переместить или скопировать объект, создать значок быстрого вызова.

(динамическое меню)

8.Охарактеризуйте назначение пунктов главного системного меню Windows.

Главное системное меню содержит следующие основные пункты.

Меню часто запускаемых программ. В этих строках обычно располагаются программы, которые пользуются наибольшим спросом, т.е. запускаются чаще других.

Все программы.

Мои документы, Недавние документы, Рисунки, Моя музыка, Мой компьютер. Второй пункт выводит на экран меню, состоящее из открываемых в последнее время документов.

Панель управления. Содержит в свою очередь подменю из большого числа пунктов, соответствующих средствам настройки системы: Администрирование, Дата и время, и т.п.

Администрирование, Сетевые подключения, Принтеры и факсы.

Справка и поддержка. Осуществляет допуск к справочной информации по работе с Windows. Справку можно получить в трех вариантах: по общему содержанию, по предметному указателю, по команде Поиск (поиск перечня разделов, где встречается интересующий термин).

Поиск. Осуществляет поиск файлов и папок, а также компьютеров в сети.

Выполнить. Позволяет осуществить запуск программ по указанному пути.

9.В чем заключаются принципы Plug and Play OLE и Drag and Drop?

Plug and Play (включи и работай). Данная технология ориентирована на автоматическое распознавание, установку и настройку любого типа устройств, в том числе, монитор, видеоплату, принтер, звуковую карту, модем, CD-ROM, различные контроллеры жесткого диска. Она позволяет упростить настройку и управление оборудованием, обеспечить надежную без сбоев их работу.

OLE – Object Link and Embedding (связь и внедрение объектов). Объект OLE – произвольный элемент, созданный средствами какого-либо приложения Windows, который можно поместить (внедрить и/или связать) в документ другого приложения Windows. При этом, внедрив в документ приложения некий объект, созданный в другом приложении, имеется возможность редактировать этот объект средствами «родного» приложения.

Существуют два способа реализации технологии OLE.

Первый способ – через буфер обмена.

Второй способ – командой приложения Вставка/Объект...

Следует различать операции Внедрить и Связать.

При внедрении объект становится частью документа-приемника и теряет связь с исходным файлом (если таковой был). Внедренный объект можно редактировать средствами «отца» – OLE-источника, но внесенные изменения не отражаются на исходном файле (и наоборот, «автономные» изменения исходного файла не отражаются на внедренном объекте).

Связать с приемником можно только объект, который оформлен как файл-документ (т.е. зарегистрирован в файловой системе по точному адресу). При обновлении файла-документа средствами «отца» (OLE-источника) изменения отражаются и в документе-приемнике (либо автоматически, либо по указанию пользователя).

Drag and Drop – метод, используемый для копирования или перемещения выделенного фрагмента информации, значка, окна, объекта в другое положение. Например, если, выделив участок картинки «ножницами», указать на него курсором мыши, нажав левую или правую кнопку и удерживать ее, то можно «перетащить» участок на новое место. Если во время перетаскивания удерживать нажатой клавишу , фрагмент будет копироваться на новое место. Кроме того, методом Drag and Drop можно изменять границы абзаца и страницы документа, ширину и высоту строк таблицы, составлять пользовательские панели инструментов и выполнять многие другие операции. Drag and Drop используется в технологии OLE, в информационных системах для физического и логического перемещения документов и т.д.

10.Опишите типичное окно Windows.

Главным объектом интерфейсной части Windows является окно – прямоугольная часть экрана, которая позволяет просматривать выведенную в ней информацию. Различаются три типа окон:

Окно программы (приложения);

Окно документа (окно объекта обработки программы);

Диалоговое окно (инструмент обработки). Элементы окна Windows представлены на рисунке

Системное меню содержит команды для изменения размеров окна, его перемещения, минимизации до размеров значка и закрытия.

Строка состояния содержит разнообразную справочную информацию, зависящую от текущего режима работы.

Строка горизонтального меню содержит группы команд, объединенных по функциональным признакам. Вызов справочной информации осуществляется через кнопку

Некоторые кнопки панели инструментов окна (см. рисунок) имеют очевидный смысл.

Опишем некоторые возможные манипуляции с размерами окон.

1. При помощи кнопок, расположенных в строке заголовка окна:

Кнопка Свернуть сворачивает окно в кнопку и помещает ее на Панели задач.

Чтобы снова развернуть окно, необходимо щелкнуть по данной кнопке;

Кнопка Развернуть увеличивает размер окна до максимально возможного;

Кнопка Восстановить изменяет размер окна от максимального до среднего и обратно.

2. При помощи мыши:

Подвести указатель мыши к границе окна (вертикальной, горизонтальной, к углу), которую необходимо изменить (указатель примет вид двойной стрелки);

При нажатой левой клавише мыши переместить указатель в нужном направлении.

Закрыть окно можно следующими способами:

Комбинация клавиш и ;

Щелчок по кнопке Закрыть строки заголовка окна;

Активизировать системное меню и выбрать команду Закрыть;

Выполнить команду Файл/Закрыть.

11.Охарактеризуйте стандартные приложения Windows.

Существует группа прикладных программ, интегрированных в Windows и называемых стандартными приложениями. Это относительно скромные по возможностям (по сравнению со специализированными) программы, но удобные при выполнении несложных работ. Ссылки на стандартные приложения сосредоточены в папкеСтандартные среди всех программ.

По мере развития семейства Windows стандартные приложения также совершенствуются. Текстовый редактор Блокнот (Notepad) позволяет работать с небольшими неформатированными текстами, а его более мощная версия WordPad является промежуточным по уровню возможностей редактором текстов между Notepad и мощным текстовым процессором Word. Графический редактор Paint – усовершенствованная версия редактора PaintBrush – позволяет создавать и редактировать несложные изображения, окрашивать их фрагменты, стирать и добавлять новые; кроме того, Paint может быть полезен как промежуточная среда при обмене рисунками между приложениями, когда из рисунка надо вырезать фрагмент и т.п. Программа Imaging обеспечивает: просмотр графических документов и их свойств, масштабирование, работу с фрагментами, получение графического документа путем сканирования изображения на бумаге, добавление комментариев. Калькулятор способен работать в двух режимах: простые вычисления (лишь арифметические операции) и инженерные вычисления (многие математические функции, различные системы счисления, использование скобок и т.д.). В специальных папках среди стандартных приложений имеются игры, в том числе с использованием Интернета, а также средства развлечения, позволяющие просматривать видеофайлы, прослушивать аудиодиски, создавать собственные видеоролики.

12.Опишите развитие операционных систем семейства Windows.

На смену системе Windows 95 последовательно пришли:

ОС Windows 98, Windows NT, семейства систем Windows 2000 (Professional, Server и Advanced Server) и Windows XP (Home Edition, Professional) – и список этот не закрыт. Windows NT и Windows 2000 Server (Advanced Server) нацелены на обслуживание локальных сетей (обсуждение сетевых ОС отложим до гл. 5), а системы Windows 98, Windows 2000 Professional и Windows XP непосредственно продолжают линию Windows 95 и предназначены для организации работы ПК.

Каждая последующая версия системы типа Windows, сохраняя основные принципы построения пользовательского интерфейса системы Windows 95, обеспечивает, вообще говоря, больше функций для пользователя, чем предыдущая. В то же время каждая следующая версия системы предъявляет все больше требований к быстродействию компьютера, объему оперативной памяти и жесткого диска.

Новые возможности указанных систем.

ОС Windows 98 является непосредственным усовершенствованием Windows 95. Общего между ними так много, что их в литературе часто обозначают собирательным именем Windows 9x. Тем не менее, во многих отношениях Windows 98 превосходит предшественницу. У нее более рациональный и более богатый возможностями пользовательский интерфейс и значительно упрощен доступ к ресурсам Интернета. Последнее достигнуто за счет включения в состав Windows 98 программы-обозревателя Internet Explorer 4.0 и возможности выхода в Интернет из различных панелей и окон. В Internet Explorer включены программа для работы с электронной почтой Outlook Express и другие коммуникационные программы. Значительно расширены возможности для использования мультимедиа-приложений, т.е. программ, использующих одновременно графические и звуковые средства отображения, а также движущихся изображений.

ОС Windows 2000 Professional расширяет возможности пользователя ПК в следующих сферах:

Установка системы и обновление системных файлов;

Повышенная безопасность;

Поддержка работы с Интернетом;

Поддержка мультимедиа-приложений;

Работа на переносном компьютере в режиме использования аккумуляторов.

ОС Windows 2000 Professional может поддерживать компьютер с двумя центральными процессорами и значительно большей оперативной памятью. Новые возможности (по отношению к Windows 9x) связаны с более удобной процедурой установки ОС (включая установку по сети), с большей защищенностью от сбоев. Система поддерживает многоязычный пользовательский интерфейс. Ей свойственна ускоренная многозадачность, т. е. можно одновременно выполнять больше задач, чем в Windows 9x. Система допускает возможность параллельного использования на одном компьютере с системами Windows 9x, включая совместный допуск к папкам и периферийным устройствам. Специальный сервис организуется для переносных компьютеров. Так, она позволяет использовать «спящий режим» путем запоминания текущей настройки рабочего стола, последующего полного отключения питания с восстановлением рабочего состояния по желанию пользователя.

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

Продолжение совершенствования ОС Windows в направлениях, указанных выше, привело к созданию ОС Windows XP. У нее обновлен пользовательский интерфейс, который может быть адаптирован к личным приемам работы пользователя, позволяет группировать однотипные приложения под общей кнопкой на Панели задач. Установлены новые или существенно усовершенствованы программы работы с аудио- и видеоданными, а также усилены коммуникативные возможности; в частности, пользователи могут совместно работать с приложениями (при работе в сети). Системные файлы защищены от порчи (перезаписи) при установке новых приложений. Разумеется, каждая новая версия ОС Windows наследует лучшие черты предшественницы.

Конструктор меню

Для создания и изменения меню в процессе разработки приложения в среде Delphi предназначен Конструктор меню (Menu Designer). Запуск Конструк­тора меню можно выполнить по команде Menu Designer (Конструктор ме­ню) контекстного меню компонента MainMenu или PopupMenu, а также с по­мощью двойного щелчка мыши на этих же компонентах. Предварительно один из этих компонентов следует добавить на форму. Напомним, что ком­поненты MainMenu и PopupMenu размещаются на странице Standard (Стандартная) Палитры компонентов.

Конструктор меню похож на текстовый редактор и предоставляет возможность достаточно просто и удобно конструировать меню любого типа. Меню при конструировании имеет тот же вид, что и при выполнении приложения. Вид меню при конструировании с помощью Конструктора меню показан на рис. 7.4.При работе с Конструктором меню используются команды его контекстного меню (рис. 7.4), вызываемого щелчком правой кнопкой мыши при разме­щении указателя в области Конструктора меню. С их помощью можно выполнить такие действия, как добавление (Insert) и удаление (Delete) пунк­та меню, создание подменю (Create Submenu), выбор меню (Select Menu).

При конструировании меню можно также перемещать указателем мыши пункты меню и подменю по технологии drag-and-drop. Используемый со­вместно с Конструктором меню Инспектор объектов позволяет управлять свойствами отдельных пунктов меню. В частности, наименование пункта меню задается путем присвоения нужного значения его свойству caption.

С помощью Конструктора создание и настройка меню ведется при создании приложения. Кроме того, меню можно создавать или изменять динамически непосредственно при выполнении приложения. Например, возможно:

  • создать новое меню любого типа или удалить его;
  • заблокировать или разблокировать отдельные пункты;
  • сделать пункт меню видимым или невидимым;
  • добавить или удалить пункт меню;
  • изменить название пункта;
  • установить или убрать отметку пункта;
  • переключить форму с одного главного меню на другое.

Эти возможности обеспечиваются установкой свойствам пунктов меню тре­буемых значений и вызовом соответствующих методов.

Для добавления пунктов меню используются методы Add и insert, для уда­ления пунктов меню используется метод Delete.

Процедура Add (item: TMenuitem) добавляет определяемый параметром item элемент в конец подменю, которое вызвало этот метод. Если подменю не существовало, то оно создается.

Пример. Добавление пункта меню.

procedure Forml.mnuItemAddClick(Sender:TSender);

var Newltem: TMenuitem;

NewItem:= TMenuitem.Create(Self);

NewItem.Caption:= "Новый элемент";

mnuFile.Add(NewItem);

end;Добавление нового пункта производится в конец списка команд меню Файл. Добавляемый пункт имеет заголовок Новый элемент. Предварительно новый пункт создается конструктором Create.

Процедура Insert (Index: Integer; Item: TMenuItem) , в отличие от предыдущего метода, добавляет новый пункт меню на указанное положение. Параметр index определяет позицию в массиве элементов меню, на которую вставляется новый пункт. Если значение параметра index выходит за преде­лы допустимого диапазона, например, больше, чем число подэлементов модифицируемого пункта меню, то возникает исключительная ситуация.

Процедура Delete (index: integer) удаляет указанный пункт меню. Если удаляемый пункт имеет подпункты, то они также удаляются.

Пример. Удаление пункта меню.

procedure Forml.mnuItemDeleteClick(Sender:TSender);

if mnuFile.Items.Caption = "Второй элемент"

then mnuFile.Delete(2); end;

Процедура выполняет удаление пункта из подменю Файл. Удаляемый пункт имеет заголовок Второй элемент и находится на второй позиции. Предвари­тельно производится проверка, действительно ли удаляется пункт с нужным названием.

Форма может иметь более одного главного меню. Это используется, например, в случае, когда одно из них содержит заголовки на английском языке, а другое - на русском. Для реализации такой возможности на форму следу­ет поместить два компонента MainMenu и подготовить соответствующие ме­ню. После этого при выполнении программы возможно подключение к форме любого из этих меню. Для подключения к форме главного меню ис­пользуется свойство Menu формы.

Пример. Переключение между двумя главными меню.

if Forml.Menu = EnglishMenu

then Forml.Menu:= RussianMenu else Forml.Menu:= EnglishMenu;

Меню имеют названия EnglishMenu и RussianMenu. Код, выполняющий пе­реключение меню, может быть включен в соответствующий обработчик.

Напомним, что Menu является одним из свойств формы, указывающим на главное меню, которое в настоящий момент является активным.

Слышали ли вы когда либо такое утверждение, что «нельзя сделать динамическое выпадающее меню исключительно на CSS для IE»? Уверен, что да. И что, вы-таки верите этому? Правильно, лучше не верьте.

Цель, которой мы хотим достичь в этой статье

Цель данной статьи — сделать выпадающее меню для IE, сделанное исключительно на CSS. Начав с этой постановки, я расширил задачу до того, чтобы заставить работать такое меню в других наиболее известных браузерах (прим. пер.: из комментариев выясняется, что этими браузерами являются Opera 7.x и последние версии Firefox).

Цель, которой мы хотим достичь в этой статье, в принципе более или менее общеобразовательная, т.е. дать общее представление о некоторых «скрытых» и редко используемых особенностях браузеров.
Также особенно любопытные могут в этой статье найти некоторые ухищрения, с помощью которых можно достичь определенных нестандартных результатов. Ну и для разработчиков эта статья может стать поводом для размышления или источником новых идей.

Каким мы представляем уровень читателя.

Вообще-то я думал о том, чтобы пометить эту статью как для «углубленного изучения (advanced)». Но я уверен, что даже не самые опытные разработчики хорошо поймут то, что написано в статье. Короче, читатель просто обязан знать основы CSS и
HTML.

Чем это меню отличается от всех других?

я долго искал в сети меню, которые были бы сделаны на CSS, но не нашел ни одного решения, которое бы работало без глюков в IE. Однако же я нашел много интересных идей, которые и привели меня к тому результату, который будет здесь описан. Да, мой код тоже не совершенен, но у меня попросту нет времени, чтобы выправить все ошибки. Самое интересное альтернативное решение из всех, что я видел (которые используют CSS), основано на использовании псевдокласса hover для элементов LI. А я-то никогда и не думал, что такое возможно, впрочем, как и не думал о том, что вообще возможно сделать выпадающее меню для IE без скриптов…

Основным отличием между моим и другими меню является то, что мое работает в IE. Все решения, которые я видел, используют элемент LI как основной элемент для псевдокласса:hover, однако Microsoft решила, что этот псевдокласс может быть использован только для
элемента A. Большинство сайтов делают оговорку, что их меню работают только в браузерах Opera 7.x или Mozilla. Но ведь эти браузеры используются только пятью процентами пользователей! Да, такие меню хороши в этих браузерах, но к сожалению не могут быть видны в большинстве самых распространенных браузеров. Сейчас мы исправим это недоразумение.

Что такое меню, сделанное с помощью только CSS?

Это динамическое меню, для создания которого используется только CSS, и не используются скрипты (например, написанные на JavaScript).

Что, не верится?

Давайте рассмотрим код:

Mozilla specific menu!

Что происходит, почему все работает?

Сразу оговорюсь, что в этой статье я не буду вас учить использованию CSS. Поэтому сразу переходим к рассмотрению принципа работы меню — к псевдоклассу ‘:hover’. Да, это именно класс. Т.е. селектор может наследовать другой селектор, который включает ‘:hover’. В нашем случае ‘A:hover TABLE’ выбирает ‘

в
элементе , на который наводится указатель мыши. Далее следует трюк с таблицей, свойство "display" которой равняется "none" (т.е. она невидима). Таблица находится между тэгами якорей (,). По словам Microsoft, это может вызвать неадекватную реакцию IE, но я ничего такого не заметил.

Почему мы используем таблицу? А потому, что что она очень хорошо разделяет вложенные якоря, которые мы хотим задействовать из основного якоря. Такое решение не работает в Mozilla 0.7 и даже с помощью JavaScript я еще не нашел способа реализовать это. Прямое вложение якорей не допускается Microsoft, поэтому элемент table — это своеобразный хак для IE. И, насколько я знаю, только таблицы позволяют таким образом "провести" IE.

Итак, что у нас тут имеется? 2 таблицы с якорями внутри якорей.

Help

Howto
Index
About

Которые являются скрытыми.

div#menu .a table { display: none; z-index:-1; }

Браузер показывает содержимое якоря при наведении указателя мыши и применяет в этом случае соответствующий стиль:

div#menu .a:hover { background: #7DA6EE; border: 1px solid black; color: black;z-index:0; }

Для выпадающей таблицы, которую мы используем для подменю: это ключевая таблица, которая и является выпадающим списком.

div#menu .a:hover table{ background: White; display: block; position: absolute; width: 125px;z-index: 0; border: 1px solid #708090; }

Для ссылок внутри подменю:

Если мы наводим указатель на одну из ссылок в подменю, браузер применяет следующий стиль:

Для ссылок внутри подменю:

div#menu .a:hover table a:hover { display: block; background: #7DA6EE; color: black; text-decoration: none; padding: 0px 11px; border: 1px solid black;z-index:1000; visibility: visible; }

Стиль ссылок в выпадающем меню:

div#menu .a:hover table a { display: block; color: Black; text-decoration: none; padding: 1px 12px;z-index:1000; }

Возможно, вы заметили, что я испольщовал несколько свойств ‘z-index’ для некоторых элементов. Они являются хаками для некоторых проблем, которые я нашел при тестировании меню.

Усовершенствования

Для того, чтобы добавить подуровни в выпадающее меню нужно просто вставить еще один элемент div ‘.menuitem’ (вместе с его содержимым и аналогичной структурой) вместо ссылки в родительскую таблицу.
Теперь, когда у вас есть подуровни в меню, вам нужно будет удалить тэги
, чтобы дать меню «нормально выезжать». В дополнение к этому, вам нужно будет сделать несколько копий классов.menuitem и.a с одинаковыми свойствами, но разными именами для каждого подменю.
Да, похоже поработать придется много, НО вы можете просто добавить их селекторы в соответствующую секцию таблицы стилей.

Полное описание того, как это сделать, я сделаю в следующий раз.
А пока что скажу, что это меню вы можете изменить так, как вам захочется, приспособить под себя. И возможностей для этого существует бесконечное множество — ограничить их может только ваша фантазия…

Переключение стилей (Скины)

Если вы хотите добавить скины для вашего меню с возможностью их смены самим пользователем, вам нужно будет добавить дополнительные таблицы стилей и дать им имена с id=’some_name’ (для IE) и с именами name=’some_name’ (для остальных браузеров). Для того, чтобы не применялись оба стиля, вам нужно заблокировать все стили, кроме стилей по умолчанию, путем добавления параметра «disabled» в стиль тэга (причем не имеет значения, связываете ли вы его или используете линейный синтаксис). Mozilla и Opera позволяют переключение поименованных стилей из браузера. Как правило, эти браузеры не применяют все стили, которые определены именем name=»…» и игнорируют id=»…». Также они умеют использовать имя name=’default’ как таблицу стилей по умолчанию и name=’alternate’ в качестве альтернативной таблицы стилей. Вы можете определить имя стиля, которое пользователь будет видеть как свойство title=»…». Например, демонстрационная версия меню на этой странице включает следующие определения: