СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Аукцион-знаний на тему "Панели инструментов"

Категория: Информатика

Нажмите, чтобы узнать подробности

Аукцион-знаний на тему "Панели инструментов"

Просмотр содержимого документа
«Аукцион-знаний на тему "Панели инструментов"»

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

«Семейский финансово-экономический колледж имени Рымбека Байсеитова»

управления образования Восточно-Казахстанской области













АУКЦИОН ЗНАНИЙ


Дисциплина: «Языки программирования»

Тема: «Панели инструментов»


Группа: 17 КO-3











Подготовила: Ихсанова А.С.











г.Семей

ПОУРОЧНЫЙ ПЛАН


  1. Адресная категория

1.1. Наименование специальности и квалификации

0104000 – «Профессиональное обучение (по отраслям)»

0104013-5 – «Мастер производственного обучения, техник-программист»

1.2. Курс, группа

ІІІ курс, группа 17 QO-3

1.3. Наименование учебного модуля/дисциплины, изучаемого раздела

Языки программирования

1.4. Тема занятия

Панели инструментов

1.5. Организационная форма занятия

групповая

1.6. Знания и умения студентов, необходимые для выполнения деятельности по модулю/теме

- знать панели инструментов ToolBar и CoolBar;

- знать строку состояния StatusBar.

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

- навыки общения;

- умение воспринимать информацию;

- умение применять информацию на практике.

2. Цель занятия

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

- умение слушать;

- умение общаться с партнерами;

- прислушиваться к мнению других.

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

- умение правильно организовать рабочее место;

- умение работать с литературой;

- умение работать в коллективе;

- мыслить логически.

3. Описание результата занятия

3.1. К концу занятия обучающиеся должны: знать и уметь

- знать панели инструментов ToolBar и CoolBar;

- знать строку состояния StatusBar.

3.2. Критерии качества

- знание свойств ToolBar и CoolBar;

- знание свойств StatusBar.

4. Фаза планирования

4.1. Учебно-методическое оснащение, справочная литература

А.Д.Хомоненко, В.Э.Гофман «Самоучитель Delphi»


4.2. Техническое оснащение, материалы

ПК, Delphi

4.3. Описание последовательности действий студентов

- освоить панели инструментов ToolBar и CoolBar;

- освоить строку состояния StatusBar.

4.4. Роль преподавателя

- сообщение основных понятий по теме;

- пояснение терминов и порядка их применения.

5. Реализация плана

5.1. Описание плана занятий, содержание действий преподавателя и студентов (таблица)

Таблица «Содержание и организация взаимодействия преподавателя и студентов»


6. Оценка

6.1. Оценка качества выполненных заданий

Определение степени усвоения новых понятий и терминов.


Преподаватель ______________ Ихсанова А.С.

подпись Ф.И.О.




Содержание и организация взаимодействия преподавателя и студентов


Основные этапы занятия

Виды и последовательность действий

Деятельность студентов

Совместная деятельность преподавателя и студентов

Деятельность преподавателя




индивидуальная

групповая

межгрупповая


консультация

инструктирование

контроль

1.

Этап ориентирования и планирования

Тема и цель урока


Х


Х

Х



2.

Этап выполнения работы

Подготовка рабочего места


Х



Х



Подготовка материалов


Х



Х



Технологический процесс: конспектирование, работа с конспектом,

работа на интерактивной доске



Х

Х









Х

Х







Х

Х



3.

Этап оценки и анализа конечных и промежуточных результатов

Оценка работы по критериям качества:

Определить термин




Х








Х






















Темаурока: Панели инструментов.


Инструментальные панели — компоненты ToolBar и PageScroller

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

Начнем рассмотрение компонентов, которые используются для построения различных инструментальных панелей, с компонента ToolBar. Пример панели, построенной на основе этого компонента, приведен на рис. 2 





Рис. 2 Пример инструментальной панели ToolBar



Если вы поместите компонент ToolBar на форму, то по умолчанию он расположится вверху, поскольку его свойство Align по умолчанию равно alTop. Если вы хотите, чтобы панель располагалась иначе, установите Align = alNone, после чего можете придать панели любую форму и расположить ее в любом месте.

Занесение компонентов на панель ToolBar можно, в принципе, осуществлять обычным способом — переносом их из палитры компонентов. Но для занесения кнопок имеется и более простой вариант. Щелкните на ToolBar правой кнопкой мыши и выберите из всплывшего меню команду New Button. На форме появится очередная кнопка — объект типа TToolButton. Это не совсем обычная кнопка, так как в дальнейшем вы увидите, что внешне она может не походить на кнопку. Ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton— кнопка. Другие возможные стили мы рассмотрим позднее. А как кнопка этот объект очень похож на кнопку SpeedButton. Только изображение на кнопке определяется не свойством Glyph, а свойством ImageIndex. Оно определяет индекс изображения, хранящегося во внешнем компоненте ImageList. Указание на этот компонент может задаваться такими свойствами компонента ToolBar, как ImagesDisabledImages (указывает на список изображений кнопок в недоступном состоянии) и HotImages (указывает на список изображений кнопок в моменты, когда над ними перемещается курсор мыши).

Свойство MenuItem позволяет задать раздел главного или контекстного меню, который дублируется данной кнопкой. При установке этого свойства, если в соответствующем разделе меню было задано изображение и установлен текст подсказок (свойство Hint), то это же изображение появится на кнопке и тот же текст появится в свойстве Hintкнопки. Передадутся из раздела меню в кнопку также значения свойств Enabled (доступность) и Visible (видимость). Правда, все это передастся в кнопку только в момент установки свойстваMenuItem. Если в процессе дальнейшего проектирования вы измените соответствующие свойства раздела меню, это не отразится на свойствах кнопки. Но если вы сотрете значение MenuItem, а потом установите его снова, то в кнопке зафиксируются новые значения свойств раздела меню.

Свойство Wrap, установленное в true, приводит к тому, что после этой кнопки ряд кнопок на панели прерывается и следующие кнопки размещаются в следующем ряду.

Теперь вернемся к свойству Style, задающему стиль кнопки. Значение Style = tbsCheck определяет, что после щелчка пользователя на кнопке она остается в нажатом состоянии. Повторный щелчок на кнопке возвращает ее в отжатое состояние. Поведение такой кнопки подобно кнопкам SpeedButton и определяется аналогичными свойствами AllowAllUp и Down. Если при этом в нескольких кнопках установлено свойство Grouped = true, то эти кнопки образуют группу, из которой только одна кнопка может находиться в нажатом состоянии.

Значение Style = tbsDropDown соответствует кнопке в виде выпадающего списка. Этот стиль удобен для воспроизведения выпадающего меню. Если для подобной кнопки задать в качестве свойства MenuItem головной раздел меню, то в выпадающем списке автоматически будут появляться разделы выпадающего меню. В примере рис. 2 стиль tbsDropDown имеет четвертая слева кнопка. В ней в качестве свойства MenuItem задан раздел Опции из меню. При Style = tbsDropDown можно вместо свойстваMenuItem задать свойство DropDownMenu, определяющее контекстное меню (компонент PopupMenu), которое будет отображаться в выпадающем списке.

Значение Style = tbsSeparator приводит к появлению разделителя, позволяющего отделить друг от друга кнопки разных функциональных групп. Значение Style = tbsDivider приводит к появлению разделителя другого типа — в виде вертикальной линии. Разделитель можно ввести и из контекстного меню ToolBar, выбрав команду New Separator.

Свойство кнопки Indeterminate задает ее третье состояние — не нажатая и не отпущенная. Это свойство можно устанавливать в true во время выполнения, если в данном режиме кнопка не доступна.

Свойство Marked выделяет кнопку.

Мы рассмотрели занесение на панель кнопок. Но в инструментальных панелях нередко используются и выпадающие списки. Например, для задания размера шрифта. Не представляет труда перенести на панель ToolBar такие компоненты, как ComboBoxSpinEdit и др.

Из общих свойств компонента ToolBar следует еще отметить ButtonHeight и ButtonWidth — высота и ширина кнопок в пикселях, и Wrapable — автоматический перенос кнопок в следующий ряд панели, если они не помещаются в предыдущем. Такой перенос осуществляется и во время проектирования, и во время выполнения при изменении пользователем размеров панели.

Свойства, определяющие вид панели ToolBarBorderWidth — ширина бордюра, EdgeInner и EdgeOuter — стиль изображения внутренней и внешней части панели (утопленный или выступающий), EdgeBorders — определяет изображение отдельных сторон панели (левой, правой, верхней, нижней).

Мы рассмотрели построение инструментальной панели на основе компонента ToolBar. Но полоса может быть очень длинной и не помещаться в отведенном ей месте формы. Примером является палитра компонентов Delphi. В этих случаях может помочь компонент PageScroller, обеспечивающий прокрутку панели. Собственно говоря, PageScroller может прокручивать любой компонент, не обязательно панель ToolBar. Например, он может прокручивать какую-то панель вместе с размещенными на ней компонентами. В этом отношении он напоминает компонент ScrollBox. Но есть и заметные различия между этими двумя компонентами: PageScroller прокручивает только один компонент и только в одном направлении — горизонтальном или вертикальном. Да и оформление управления прокруткой у PageScroller не похоже на полосы прокрутки в ScrollBox.

Пример применения компонента PageScroller показан на рис. 3. Это тот же пример, что и на рис. 2. В верхней части окна показана та же инструментальная панель, что и на рис, 2, а ниже показана идентичная панель, но заключенная в небольшое окно PageScroller и снабженная кнопкой прокрутки. 





Рис. 3
Пример инструментальной панели и ее прокрутки компонентомPageScroller


Основное свойство компонента PageScroller — Control. Оно указывает компонент, который должен размещаться и прокручиваться в окне PageScroller. Благодаря наличию этого свойства вы можете проектировать свою инструментальную панель, например, ToolBar, не помещая ее заранее в окно PageScroller и не задумываясь о ее размере. А после того, как вы спроектировали панель, можно ввести на форму компонент PageScroller и установить его свойство Control. В этот момент ваша инструментальная панель переместится в окно компонента PageScroller и появится, если необходимо, кнопка прокрутки.

Свойство Margin компонента PageScroller определяет размер полей в пикселях, которые оставляются между краем окна PageScroller и прокручиваемым компонентом. По умолчанию эти поля равны нулю, но надо задать свойству Margin некоторое положительное значение. Иначе края прокручиваемого компонента могут быть плохо видны.

Свойство AutoScroll определяет, должна ли прокрутка осуществляться автоматически, как только курсор мыши пройдет над кнопкой прокрутки. Опробуйте режим автоматической прокрутки экспериментально. На мой взгляд лучше оставлять значение AutoScroll равным false, поскольку такая автоматическая прокрутка не очень удобна пользователю.

Перестраиваемые панели — компоненты CoolBar и ControlBar

Перестраиваемые панели являются дальнейшим развитием инструментальных панелей. Только в перестраиваемых панелях сами инструментальные панели обычно являются компонентами более сложных образований. Примером перестраиваемой панели может служить панель ИСР Delphi 5, включающая в себя ряд более мелких панелей быстрых кнопок и палитру компонентов. Пользователь может настраивать их, изменять местоположение панелей и т. п.

Начнем рассмотрение с компонента CoolBar. Он позволяет строить перестраиваемые панели, состоящие из полос (bands). В полосы могут включаться инструментальные панели ToolBar и любые другие оконные компоненты: окна редактирования, панели и т.п. Каждый из этих компонентов автоматически снабжается средствами перемещения его пользователем в пределах окнаCoolBar. В полосы могут вставляться и не оконные компоненты, например, метки. Но они не будут перемещаемыми.

Опробуйте в работе этот компонент. Поместите его на форму. Перенесите на него другие компоненты, например, ToolBar и Edit. Когда вы размещаете на CoolBar очередной компонент, ему отводится отдельная полоса и он растягивается на всю ширину CoolBar. Около каждого компонента появляется слева полоска, за которую компонент можно перемещать. Например, взявшись за эту полоску вы можете переместить полосу вместе с ее компонентом в тот ряд, где уже имеется другой компонент. Тогда они расположатся в ряд один левее другого (см. пример на рис. 4). 



Рис. 4
Пример перестраиваемой панели на основе компонентаCoolBar

Свойства полос вы можете задавать редактором полос. Вызвать редактор полос можно тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Bands, двойным щелчком на компоненте CoolBar или из контекстного меню, выбрав команду Bands Editor. В окне этого редактора вы можете перемещаться по полосам, добавлять новые полосы или уничтожать существующие. При перемещении по полосам в окне Инспектора Объектов вы будете видеть свойства полос. Свойство Control определяет размещенный на полосе компонент. Свойство Break определяет, занимает ли полоса весь соответствующий размер контейнераCoolBar, или обрывается. Если вы расположите полосы так, как показано на рис. 7.6, то в левых полосах автоматически установится Break = true, а в правых — Break = false.

Свойство Text задает текст, который может появиться в начале соответствующей полосы. Это свойство можно оставлять пустым. А можно и задать его — надписи «Панель 1», «Панель 2», «Окно 1», «Окно 2» на рис. 7.6 заданы именно этим свойством.

Вместо свойства Text (или наряду с ним) можно задать свойство ImageIndex — индекс списка изображений ImageList, ссылка на который задается свойством Images. Указанные таким образом изображения появятся в начале соответствующих полос (см. верхние полосы на рис. 7.6).

Свойства MinHeight и MinWidth определяют минимальную высоту и ширину полосы при перестроениях пользователем полос панели.

Свойство FixedSize определяет, фиксирован ли размер данной полосы или он может изменяться пользователем. По умолчанию для всех полос FixedSize = false, т.е. все полосы перестраиваются. Но при желаний размеры некоторых полос можно зафиксировать, задав для них FixedSize = true.

Для компонента CoolBar в целом, помимо обычных для других панелей свойств, надо обратить внимание на свойство BandMaximize. Оно определяет действие, которым пользователь может установить максимальный размер полосы, не перетаскивая ее границу: bmNone — такое действие не предусмотрено, bmClick — щелчком мыши, bmDblClick — двойным щелчком. Наиболее целесообразно, по-видимому, задавать значения bmDblClick или bmNone, поскольку значение bmClick приводит к резкому перестроению полос даже при случайном щелчке мыши.

Свойство FixedOrder, если его установить в true, не разрешит пользователю в процессе перемещений полос изменять их последовательность. Вероятно, такое задание лучше, чем значение по умолчанию, равное false, поскольку чрезмерная свобода для пользователя способна его запутать.

Свойство Vertical указывает вертикальное или горизонтальное расположение полос. По умолчанию Vertical = false, что соответствует горизонтальным полосам.

Запустите свое тестовое приложение, если вы его построили, и опробуйте его в работе. Вы увидите, как легко пользователь может перестраивать панель.

Еще большую свободу перестроений дает пользователю компонент ControlBar, который появился в Delphi 4. Только оформление панели несколько отличается от CoolBar и кроме того в ней может широко применяться техника перетаскивания и встраивания Drag&Doc, широко используемая в Delphi (начиная с Delphi 4), в частности, используемая в инструментальных панелях среды проектирования Delphi.

Поместите на форму компонент ControlBar и перенесите на него несколько компонентов, например, инструментальных панелей ToolBar и окон редактирования Edit. Вы увидите (см. рис. 7.7), что каждый компонент, попадая на ControlBar, получает полосу захвата, свойственную технологии Drag&Doc.

Установите у компонентов, размещенных на ControlBar, свойство DragMode = dmAutomatic и DragKind = dkDock. Это означает автоматическое выполнение операций Drag&Doc.

Свойства компонента ControlBar RowSize и RowSnap определяют процедуру встраивания. Свойство RowSize задает размеры полос, в которые могут встраиваться компоненты, a RowSnapопределяет захват полосами встраиваемых компонентов. Свойство AutoDrag определяет, можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределыControlBar

Рис. 5
Перестраиваемая панель на основе компонентаControlBar (а) и вынесенное из нее окно редактирования (б)

а)

б)

Запустите приложение и посмотрите на практике широчайшие возможности перестроения панелей. А если вы установили свойство AutoDrag в true, то вы можете даже вынимать из панели отдельные компоненты и они становятся самостоятельными окнами (см. рис. 7.7 б). Опробуйте в эксперименте различные значения свойств компонента ControlBar, и они станут вам более понятны.

Полоса состояния StatusBar

Компонент StatusBar представляет собой ряд панелей, отображающих полосу состояния в стиле Windows. Обычно эта полоса размещается внизу формы.

Свойство SimplePanel определяет, включает ли полоса состояния одну или множество панелей. Если SimplePanel = true, то вся полоса состояния представляет собой единственную панель, текст которой задается свойством SimpleText. Если же SimplePanel = false, то полоса состояния является набором панелей, задаваемых свойством Panels. В этом случае свойство SizeGripопределяет, может ли пользователь изменять размеры панелей в процессе выполнения приложения.

Каждая панель полосы состояния является объектом типа TStatusPanels. Свойства панелей вы можете задавать специальным редактором наборов. Вызвать редактор можно тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Panels, двойным щелчком на компоненте StatusBar или из контекстного меню, выбрав команду Panels Editor. В окне редактора вы можете перемещаться по панелям, добавлять новые или уничтожать существующие. При перемещении по панелям в окне Инспектора Объектов вы будете видеть их свойства.

Основное свойство каждой панели — Text, в который заносится отображаемый в панели текст. Его можно занести в процессе проектирования, а затем можно изменять программно во время выполнения. Другое существенное свойство панели — Width (ширина).

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

StatusBar1.Panels[0].Text := 'текст 1';

или

StatusBar1.Panels.Items[0].Text := 'текст 1';

Оба они напечатают текст «текст 1» в первой панели.

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

for i := 0 to StatusBar1.Panels.Count - 1 do

StatusBar1.Panels[i].Text := '';

На рис. 7.8 приведен пример текстового редактора на основе компонента RichEdit, содержащий полосу состояния. В ее первой панели отображается номер строки и символа, перед которым находится курсор, во второй — отображается, модифицирован текст в окне, или нет. В третьей панели отображается подсказка о назначении компонента, над которым в данный момент расположен курсор мыши. 

Рис. 6
Пример редактораRichEdit с полосой состояния

Для реализации такой полосы состояния надо в обработчиках событий OnKeyDownOnKeyUpOnMouseDown и OnMouseUp компонента RichEdit1 и события OnResize формы обеспечить выполнение операторов:

StatusBar1.Panels[0].Text:=IntToStr(

RichEdit1.CaretPos.Y+1) + ':'+

IntToStr (RichEdit1.CaretPos.X+1);

if RichEdit1.Modified

then StatusBar1.Panels[1].Text := 'модиф.'

else StatusBar1.Panels[1].Text := '';

Эти операторы заполняют первые две панели полосы состояния. Занесение в строку состояния подсказок в целом выходит за рамки данной книги. Но, поскольку, говоря о полосе состояния, было бы неправильно обойти этот вопрос, ниже без особых пояснений описывается, как это можно сделать.

В Delphi 5 это делается очень просто с помощью компонента ApplicationEvents. Этот компонент помещается на форму и в обработчик его события OnHint заносится оператор, который для приведенного на рис. 7.8 примера имеет вид:

StatusBar1.Panels[2].Text := Application.Hint;

Он отображает в панели свойство приложения Application.Hint, а в это свойство автоматически переносится вторая часть текста подсказки (свойство Hint — о нем подробнее сказано ниже) того компонента, над которым перемещается курсор мыши.

В предыдущих версиях Delphi это оформляется более громоздко. Аналогичный оператор надо занести в обработчик события OnHint переменной Application. Этот обработчик вам надо создать вручную. Пусть вы назвали его DisplayHint.

Прототип этой функции DisplayHint можно внести в описание класса формы. Кроме того надо указать приложению на эту функцию как на обработчик события OnHint. Это можно сделать, например, задав в обработчике события OnCreate формы оператор:

Application.OnHint := DisplayHint;

В итоге текст вашего модуля может иметь вид (приводится с сокращениями):

interface


type

TForm1 = class(TForm)

StatusBar1: TStatusBar;

procedure FormCreate(Sender: TObject);

procedure DisplayHint(Sender: TObject);

end;


var

Form1: TForm1;


implementation

{$R *.DFM}


procedure TForm1.DisplayHint(Sender: TObject);

begin

StatusBar1.Panels[2].Text := Application.Hint;

end;


procedure TForm1.FormCreate (Sender: TObject);

begin

Application.OnHint := DisplayHint;

end;

Как видим, все это существенно более громоздко, чем указанные выше возможности, реализованные в Delphi 5.

Чтобы все это работало, надо в свойствах Hint тех компонентов, пояснения которых вы хотите отображать в панели состояния, написать соответствующие тексты. Если вы к тому же хотите, чтобы у компонента появлялся ярлычок с короткими подсказками при задержке пользователем мыши над этим компонентом, то текст в свойстве Hint должен состоять из двух частей, разделенных символом вертикальной черты «|». Например, в свойстве Hint быстрой кнопки, соответствующей разделу меню Сохранить можно ввести текст: «Сохранить|Сохранение документа в файле». Первая часть этого текста будет появляться в ярлычке кнопки, если ее свойство ShowHint (показать подсказку) установлено в true. А вторую часть описанные выше операторы будут отображать в строке состояния при перемещении курсора мыши над кнопкой, независимо от значения ее свойства ShowHint.









Аукцион знаний


Итак, сегодня у нас с вами необычный урок. Урок - аукцион. На этом уроке мы с вами повторим и закрепим знания по прошедшим темам. Как известно, на аукцион люди не ходят без денег. У вас в качестве денег будут выступать баллы. Самый высокий балл – 100. Это ваш начальный капитал. Наш аукцион будет проходить следующим образом: я задаю вопрос, а вы делаете ставки за правильный ответ, который можете предоставить. Если ваш ответ правильный, вы получаете столько баллов, сколько поставили, если ответ не правильный - я у вас забираю столько же баллов.

  1. Чем являются компоненты компоненты ToolBar и PageScroller (Инструментальные панели);

  2. Какой компонент приведен на рисунке

(ToolBar);

  1. Если вы поместите компонент ToolBar на форму, то по умолчанию где он расположится (вверху);

  2. Занесение компонентов на панель ToolBar можно, в принципе, осуществлять обычным способом — переносом их из палитры компонентов. Но для занесения кнопок имеется и более простой вариант. Объясните второй вариант? (Щелкните на ToolBar правой кнопкой мыши и выберите из всплывшего меню команду New Button. На форме появится очередная кнопка — объект типа TToolButton. Это не совсем обычная кнопка, так как в дальнейшем вы увидите, что внешне она может не походить на кнопку. Ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton— кнопка);

  3. Изображение на кнопке определяется каким свойством? (ImageIndex); 

  4. Какое свойство позволяет задать раздел главного или контекстного меню, который дублируется данной кнопкой (MenuItem);

  5. Свойство Wrap, установленное в true, приводит к чему? (приводит к тому, что после этой кнопки ряд кнопок на панели прерывается и следующие кнопки размещаются в следующем ряду);

  6. Какое свойство задает стиль кнопки? (Style);

  7. Что определяет значение Style = tbsCheck (что после щелчка пользователя на кнопке она остается в нажатом состоянии. Повторный щелчок на кнопке возвращает ее в отжатое состояние);

  8. Значение Style = tbsDropDown? (соответствует кнопке в виде выпадающего списка. Этот стиль удобен для воспроизведения выпадающего меню. Если для подобной кнопки задать в качестве свойства MenuItem головной раздел меню, то в выпадающем списке автоматически будут появляться разделы выпадающего меню);

  9. К чему приводит значение Style = tbsSeparator (к появлению разделителя, позволяющего отделить друг от друга кнопки разных функциональных групп);

  10. Значение Style = tbsDivider? (приводит к появлению разделителя другого типа — в виде вертикальной линии);

  11. Разделитель можно ввести и из контекстного меню ToolBar, выбрав команду? (New Separator);

  12. Различия между PageScroller и ScrollBox? (PageScroller прокручивает только один компонент и только в одном направлении — горизонтальном или вертикальном. Да и оформление управления прокруткой у PageScroller не похоже на полосы прокрутки в ScrollBox);

  13. Основное свойство компонента PageScroller? (Control. Оно указывает компонент, который должен размещаться и прокручиваться в окне PageScroller);

  14. Свойство Margin компонента PageScroller? (определяет размер полей в пикселях, которые оставляются между краем окна PageScroller и прокручиваемым компонентом. По умолчанию эти поля равны нулю, но надо задать свойству Margin некоторое положительное значение. Иначе края прокручиваемого компонента могут быть плохо видны);

  15. Свойство AutoScroll определяет (должна ли прокрутка осуществляться автоматически, как только курсор мыши пройдет над кнопкой прокрутки. Опробуйте режим автоматической прокрутки экспериментально. На мой взгляд лучше оставлять значение AutoScroll равным false, поскольку такая автоматическая прокрутка не очень удобна пользователю);

  16. Компоненты CoolBar и ControlBar (Перестраиваемые панели);

  17. Функция компонента CoolBar? (Он позволяет строить перестраиваемые панели, состоящие из полос (bands). В полосы могут включаться инструментальные панели ToolBar и любые другие оконные компоненты: окна редактирования, панели и т.п.);

  18. Пример перестраиваемой панели на основе какого компонента приведен на рисунке?

(CoolBar);

  1. Свойства полос вы можете задавать редактором полос. Какими способами можно вызвать редактор полос? (из Инспектора Объектов кнопкой с многоточием около свойства Bands, двойным щелчком на компоненте CoolBar или из контекстного меню, выбрав команду Bands Editor);

  2. Свойство Control определяет? (размещенный на полосе компонент);

  3. Свойство Break определяет? (занимает ли полоса весь соответствующий размер контейнераCoolBar, или обрывается);

  4. Вместо свойства Text (или наряду с ним) можно задать свойство? (ImageIndex — индекс списка изображений ImageList, ссылка на который задается свойством Images);

  5. Свойства MinHeight и MinWidth определяют? (минимальную высоту и ширину полосы при перестроениях пользователем полос панели);

  6. Свойство FixedSize определяет? (фиксирован ли размер данной полосы или он может изменяться пользователем. По умолчанию для всех полос FixedSize = false, т.е. все полосы перестраиваются. Но при желаний размеры некоторых полос можно зафиксировать, задав для них FixedSize = true);

  7. Функция компонента ControlBar? (Еще большую свободу перестроений дает пользователю компонент ControlBar. Только оформление панели несколько отличается от CoolBar и кроме того в ней может широко применяться техника перетаскивания и встраивания Drag&Doc, широко используемая в Delphi, в частности, используемая в инструментальных панелях среды проектирования Delphi);

  8. Какой компонент приведен на рисунке?

(ControlBar);

  1. Свойства компонента ControlBar RowSize и RowSnap? (определяют процедуру встраивания. Свойство RowSize задает размеры полос, в которые могут встраиваться компоненты, a RowSnap определяет захват полосами встраиваемых компонентов);

  2. Свойство AutoDrag определяет? (можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределыControlBar).