Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 49
Текст из файла (страница 49)
Панельинструментов может быть прикреплена к верхней (alTop), нижней (alBottom), левой( L e f t ) или правой ( a l R i g h t ) границе формы, занимать всю форму ( a l C l i e n t ) либобыть независимой (alCutsom)Задает шрифт панели. Все элементы, размещенные на панели, будут иметь указанныйшрифтLeftРасстояние от левой границы формы до левой границы компонентаТорРасстояние от верхней границы формы до верхней границы компонентаWidthHeightEnabledButtonHeightButtonWidthImagesFlatWrapableШирина поля компонента'. Высота поля компонентаСвойство, позволяющее сделать доступными (Enabled=True) или недоступными(Enabled=False) все компоненты, размещенные на панелиВысота кнопок на панели инструментовШирина кнопок на панели инструментовСсылка на компонент T i m a g e L i s t , содержащий картинки для кнопокОпределяет,является ли панель «плоской».
Если свойство установлено в True,то кнопки не выделяются на панели, пока на них не наведена мышь, в противномслучае граница кнопок всегда виднаОпределяет, может ли (Wrapabie=True) панель инструментов переносить часть кнопокна следующую строку, если на первой строке не хватает места для размещения всехэлементов, или нет (Wrapable=False)Компонент TProgressBarВ качестве рекомендаций по использованию этого компонента можно отметить следующие.
Перед использованием компонента лучше сначала добавить кформе компонент TlmageList (см. выше) и произвести его настройку. После тогокак картинки для кнопок будут определены, можно настраивать и саму панель скнопками. Для этого нужно вьщелить компонент TToolBar, нажать правую кнопкуи в появившемся контекстном меню (рис. 7.15) выбрать пункт New Button (Новаякнопка). После того как нужное количество кнопок будет добавлено к панели,можно производить настройки для каждой кнопки. Для этого необходимовыделить нужную кнопку, и в окне Object Inspector отобразятся ее свойства.гпхг-^Ж2::;;х : ;;;.:New SegaratarEdti»Control •Potoijn •Fpil Chdliren >TabGrder.i CreaotiQOrdef.Add to Repostoiry,.eilw as Text••"1Text DFM...;Рис.
7.15 т Добавление кнопок к панели TToolBarНеобходимо отметить, что в отличие от компонента ToolBar для .NET, вкотором при нажатии на панель возникает событие, общее для всех кнопок, вкомпоненте TToolBar для Win32 такое событие возникает для каждой кнопки.Соответственно, для каждой кнопки придется отдельно описывать процедуруобработки события ToolButtonClick.Кроме того, кроме кнопок на панели инструментов TToolBar можноразместить любые другие компоненты, например TComboBox.Компонент TProgressBarЭтот компонент полностью идентичен индикатору Progre.ss.Bar, рассмотренному нами в главе 5, и обычно используется для отображения протекания какого-либо процесса. Такими процессами, например, могут быть копирование файлов, загрузка данных и т.п.
Чтобы не раздражать людей кажущимся бездействием программы (которая на самом деле выполняет какие-либоГЛАВА 7 Т Основные компоненты при программировании для Win32трудоемкие операции), обычно используют именно этот компонент. Свойствакомпонента представлены в табл. 7.22.Т а б л и ц а 7 . 2 2т О с н о в н ы е с в о й с т в а к о м п о н е н т а T P r o g r e s s B a rСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамPositionЗначение, отображаемое в поле компонента в виде прямоугольников, количество которыхпропорционально значению свойства P o s i t i o nМинимальное значение, которое может принимать свойство P o s i t i o nМаксимальное значение, которое может принимать свойство P o s i t i o nСвойство, определяющее приращение свойства P o s i t i o n .
Используется для изменениясвойства P o s i t i o n методом s t e p l tMinМахStepОбратите внимание на то, что выход значения свойства P o s i t i o n за границыдиапазона, определяемого значениями Min и Мах, вызовет ошибку.Компонент TMainMenuЭтот компонент, аналогом которого в .NET служит компонент MainMenu,представляет собой главное меню программы.После добавления к форме программы этого компонента необходимо егонастроить. Для этого выделите компонент TMainMenu и нажмите правую кнопкумыши.
В появившемся контекстном меню выберите пункт Menu Designer(Конструктор меню), и перед вами появится окно (рис. 7.16), которое предстоитзаполнить элементами меню.Для создания элемента меню необходимо выполнить щелчок в областиввода текста и ввести название пункта меню. Как только вы что-нибудьнаберете, справа и внизу появятся области для ввода следующих элементовменю. Заполняя эти области, вы постепенно создаете структуру вашего меню(рис. 7.17).Пункты меню можно отделять друг от друга с помощью разделителей. Дляэтого необходимо навести курсор в то место, куда вы хотите поместитьразделитель, и вместо названия пункта меню указать символ вычитания (-).После того как вы нажмете клавишу Enter, в указанное вами место будетвставлен разделитель (горизонтальная черта).Сформировав структуру, можно приступать к настройке главного меню.
Для этого нам потребуется ознакомиться с основными свойствамикомпонента TMainMenu, точнее говоря - со свойствами пунктов нашего меню(TMenuItem).. .Компонент TEVJainfVSenu• ActionSubMenumI agesВ MiscellaneousOnAdvancedDraOnDrawItemOnMeasureltern'Рис. 7.16 т Окно редактора меню Menu DesignerФайл Редактирование Справка ||СоздатьОткрытьСохранитьСохранить как...Рис. 7.17 тЗаполнение элементами меню компонента TMainMenuДоступ к свойствам элемента меню TMenuItem можно получить из окна ObjectInspector, нажав на один из пунктов меню, который собираемся настроить.
Итак,основные свойства, которые мы будем настраивать, приведены в табл. 7.23.Таблица 7.23 т Основные свойства элементов меню TMainMenuСвойствоКомментарийNameCaptionИмя компонента, используемое в программе для доступа к компоненту и его свойствамНазвание элемента менюГЛАВА 7 Т Основные компоненты при программировании для Win 3 2Таблица 7.23 тОсновные свойства элементов меню TMainMenu (окончание)СвойствоКомментарийEnabled .Признак доступности элемента меню. Если значение свойства равно False, то названиепункта изображается инверсным цветом и при нажатии на него событие c l i c kне происходитBitmapСвойство задает картинку формата bmp, отображаемую слева от пункта менюshortcutСвойство, определяющее комбинацию клавиш (или клавишу), нажатие которойрасценивается как выбор соответствующего пункта менюVisibleImagesПризнак необходимости скрывать ( v i s i b l e = F a l s e ) или отображать ( V i s i b l e = T r u e )пункт менюСсылка на список картинок для элементов менюТеперь поговорим о событии C l i c k , которое может воспринимать нашеменю.
Событие возникает в результате щелчка по элементу меню, при нажатииклавиши Enter (если выбран пункт меню) или в результате нажатияфункциональной клавиши, указанной в свойстве S h o r t c u t (сочетание клавишбыстрого доступа к этому элементу меню).Компонент TPopupMenuЭтот компонент, аналогом которого в .NET служит компонент ContextMenu,также представляет собой контекстное меню. После добавления этогокомпонента на форму приложения в строке свойств формы появится новоесвойство - TPopupMenu. Для определения перечня пунктов меню нужновыделить компонент, нажать правую кнопку мыши и в контекстном менювыбрать пункт Menu Designer (Конструктор меню).
После этого появитсяаналогичное рассмотренному на рис. 7.16 окно, где требуется заполнитьэлементы меню так же, как мы делали это для главного меню.После того как контекстное меню будет создано, следует выполнить егоокончательную настройку - задать значения свойств пунктов меню TMenuItem,а также определить процедуры обработки событий. В отличие от компонентаTMainMenu для TPopupMenu необходимо дополнительно определить компонент,для которого это меню создано. Для этого в свойство PopupMenu компонентанеобходимо поместить ссылку на контекстное меню.
Свойства объекта TPopupMenu приведены в табл. 7.24.Т а б л и ц а 7 . 2 4 • Основные с в о й с т в а элемента м е н ю TPopupMenuСвойствоКомментарийNameCaptionИмя компонента, используемое в программе для доступа к компоненту и его свойствамНазвание элемента меню/Компонент TPopupMenuТаблица 7.24 т Основные свойства элемента меню TPopupMenu (окончание)СвойствоКомментарийEnabledПризнак доступности элемента меню. Если значение свойства равно False, то названиепункта изображается инверсным цветом и при нажатии на него событие c l i c kне происходитBitmapСвойство задает картинку формата bmp, отображаемую слева от пункта менюShortcutСвойство, определяющее комбинацию клавиш (или клавишу), нажатие которыхрасценивается как выбор соответствующего пункта менюVisibleImagesПризнак необходимости скрывать ( V i s i b l e = F a l s e ) или отображать ( v i s i b l e = T r u e )пункт менюСсылка на список картинок для элементов меню; Данная программа демонстрирует пример ; :' использования компонента TPopupMenu.
В - •данном примере контекстное меню; реализовано для компонента TLabel.; Данное меню позволяет задать шрифт в; поле компонента, выравнивание текста,' ; ;' цвет поля компонента.шРис. 7 . 1 8 т Форма программы, демонстрирующей вариантиспользования компонента TPopupMenuТекст программы приведен в листинге 7.10.Листинг 7.10 т Текст программы (основные процедуры), демонстрирующей вариантиспользования компонента TPopupMenu/ / Выбор пункта меню'Выбор шрифта '.procedure TForml.NlClick(Sender: TObject);beginFontDialogl.Execute;Labell.Font:=FontDialogl.Font;end ;/ / Выбор пункта меню'Выравнивание/по левому краю'.procedure TForml.N3Click(Sender: TObject);beginLabell.Alignment:=taLeftJustify;end ;//Выбор пункта меню'Выравнивание/поправомукраю'.ГЛАВА 7 Т Основные компоненты при программировании для Win32procedure TForml.N4Click(Sender: TObject);beginLabell.Alignment:=taRightJustify;end;// Выбор пункта меню 'Выравнивание/по центру'procedure TForml.N5Click(Sender: TObject);beginLabel!.Alignment:=taCenter;end;// Выбор пункта меню 'Выбор цвета'.procedure TForml.N6Click(Sender: TObject);beginif ColorDialogl.Execute thenLabell.Color:=ColorDialogl.Color;end;// Выбор пункта меню 'Исходные установки'.procedure TForml.N8Click(Sender: TObject);begin// Восстанавливаем шрифт.Labell.Font.Color:=clWindowText;Labell.Font.Name:='Tahoma';Labell.Font.Size:= 10;Labell.Font.Style:=[];// Восстанавливаем цвет.Labell.Color:=clBtnFace;// Восстанавливаем выравнивание текста.Labell.Alignment:=taLeftJustify;end;Компонент TOpenDialogДанный компонент представляет собой стандартное диалоговое окно, позволяющее выбирать (открывать) файлы.
Хотя некоторые свойства этого компонента нам уже знакомы, тем не менее приведу основные из них (табл. 7.25).Таблица 7.25 т Основные свойства компонента TOpenDialogСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамКомпонент TOpenDialog^ ^ fТаблица 7.25 т Основные свойства компонента TOpenDialog (окончание)СвойствоКомментарийFileNameИмя выбранного пользователем файла. Помимо собственно имени файла содержиттакже и путь к каталогу, в котором находится файлFilterСвойство определяет описание и фильтр, по которому будут отображаться файлы.В списке файлов отображаются только те файлы, описание которых соответствуетзаданной маске. Например, значение свойства Текстовые файлы I * .