Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Компоненты ввода и отображения текстовой информации

Визуальное программирование

1. В Delphi проект - это совокупность всех файлов, которые создают программу, включая формы, модули, графику, элементы управления.

Типы файлов, используемых в проектах Delphi

Тип файла Описание

.dfm Файл формы

.pas Выходной файл модуля формы

.dpr Файл проекта

.exe Откомпилированный проект

.dcu Откомпилированный модуль

.res Файл ресурсов

.cfg Файл конфигурации проекта

.dof Файл параметров проекта

Файл с расширением.dpr содержит основную информацию о проекте. Файл с расширением.pas - это файл модуля. В нем хранится текст программы на Object Pascal. Файл с расширением.dfm содержит информацию о внешнем виде формы. Если файл имеет расширение.res, то это ресурсный файл и в нем хранится информация о курсоры, пиктограммы и тому подобное. Файл с расширением.exe - исполняемый файл приложения.

Создание нового проекта

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

Запуск проекта на выполнение

1.спосиб. Через главное меню: Run 4 Run.

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

3. способ. Нажатием клавиши F9.

Остановить выполнение программы можно нажав на кнопку Закрыть (Крестик) на самой форме.

Сохранение проекта

Сохранение проекта состоит из следующих шагов:

Создание папки для проекта.

Сохранение файла модуля проекта внутри папки проекта.

Сохранение файла проекта в папке проекта.

Чтобы сохранить проект, созданный, или обновить уже существующий после сделанных изменений или дополнений нужно в меню File выполнить команду Save All (записать все). Если проект сохраняется впервые, то необходимо указать названия модуля проекта и название файла проекта. (Можно также названия оставить те, которые предлагает среда: Unit1, Project1).

2. Компонент Edit (однострочное окно ввода / вывода). Используется для ввода / вывода чисел и текста в программу. Основные свойства компонента Edit. (BorderStyle Стиль обрамления: bsNone - имеется обрамления bsSingle - обрамление одной линией) (MaxLength Определяет максимальную длину текстовой строки. Если имеет значение 0, длина сроки не ограничена) (Text Содержимое сроки редактирования) Основные методы компонента Edit (Clear Удаляет весь текст) SetFocus устанавливает фокус ввода

Компоненты ввода и отображения текстовой информации

Компонент Страница Описание
Label (Метка) Standard Отображение текста, який не изменяется пользователем. Никакого оформления текста не предусмотрено, кроме цвета метки и текста. Основное свойство - Caption.
StaticText (Метка с бордюром) Additional Подобен компоненту Label, но обеспечивает возможность задания стиля бордюра. Основное свойство - Caption.
Panel (Панель) Standard Компонент является контейнером для группировании органов управления, но может употребляться и для отображения текста с возможностями объемного дизайна. Основное свойство - Caption.
Edit (Окно редактирования) Standard Отображение, ввод и редактирование однострочных текстов. Имеется возможность оформления объемного бордюра. Основное свойство - Text.
MaskEdit (Окно маскированного редактирования) Additional Используется для форматирования данных или для ввода символов в согласовании с шаблоном. Основные свойства - Text и EditText.
Memo (Многострочное окно редактирования) Standard Отображение, ввод и редактирование многострочных текстов. Имеется возможность оформления объемного бордюра. Основное свойство - Lines.
RichEdit (Многострочное окно редактирования в формате RTF) Win32 Компонент представляет собой окно редактирования в стиле Windows 95 в обогащенный формате RTF, позволяющее производить выбор атрибутов шрифта, поиск текста и многое другое. Основное свойство - Lines.
ListBox (Окно списка) Standard Отображение стандартного окна списка Windows, позволяющего пользователю выбирать из него пункты. Основное свойство - Items.
CheckListBox (Список с индикаторами) Additional Компонент является комбинацией свойств списка ListBox и индикаторов CheckBox в одном компоненте.
ComboBox (Редактируемый список) Standard Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Основное свойство - Items.
StringGrid (Таблица срок) Additional Отображение текстовой информации в таблице из срок и столбцов с возможностью перемещаться по срокам и столбцам и осуществлять выбор. Основное свойство - Cells.

 

3. В Delphи созданы специализированные классы-надстройки, существенно упрощают использование графических инструментов Windows. Так, для контекста существует класс TCanvas, для шрифта - TFont, для пера - TPen, для кисти - TBrush. Графические объекты, связанные с этими классами, автоматически создаются и становятся доступными через свойства Canvas, Font, Pen и Brush.

Класс TCanvas облегчает работу с контекстами устройств, обеспечивает освобождение ресурсов и содержит большое количество методов и свойств. Методы класса TCanvas позволяют подать изображения графических примитивов, среди которых, точка (Pixels), линия (LineTo), окружность (Ellipse), прямоугольник (Rectangle) и многие другие.

Свойства класса TCanvas позволяют задать характеристики изображений: цвет, толщину, стиль линий, тип заполнения замкнутых областей. Так, инструкция Form1.Canvas.Rectangle (25, 25, 200, 200) выводит в окне программы прямоугольник по указанным координатам.

Класс TCanvas использует такие ценные свойства, как CopyMode и Pixels. Свойство CopyMode используется при копировании одной части изображения в другую методом CopyRect. Значение этого метода позволяет сочетать, копировать и комбинировать изображения, заполнять область определенным цветом. Свойство Pixels превращает все пикселей на рисунка в двумерный массив. Изменяя цвет пикселей, можно прорисовывать изображение по отдельным пикселях. С помощью класса TFont формируется объект-шрифт для такого графического устройства как экран или принтер. К основным свойствам этого класса относят набор символов (Charset), цвет шрифта (Color), высоту шрифта (Sиze), стиль шрифта (Style) и другие. Метод Assиgn придает значения свойств шрифтового объекта свойствам текущего шрифта. Этот метод можно использовать при создании шрифта на принтере по образцу экранного шрифта и наоборот. Класс TPen предназначен для изображения линий различных типов. Линия может быть как отдельной, так и контуром графического объекта. К свойствам класса TPen относят цвет линии (Color), ее стиль (Style), толщину (Wиdth) и способ взаимодействия с фоном (Mode). Так, инструкция Bitmap. Canvas. Pen.Color = clWhite придает свойства Color объекта Pen значение белого цвета. Объекты класса TBrush служат для заполнения внутреннего пространства замкнутых фигур. К основным его свойствам относят цвет (Color) и стиль (Style) кисти. Этот класс использует сплошной цвет (bsSolid), шаблон или растровое изображение (Вitmap). Автоматически свойство Color имеет значение прозрачного фона, то есть цвета отраженной фигуры. Другой полезным свойством кисти является использование растровых изображений в качестве фона. Для этого создается объект TBиtmap, куда загружается графическое изображение, которое будет ограничено определенными размерами. Ограничивающие области могут использовать различную форму и размер полотна, для чего указывают определенные координаты. Так, функция SelectClиpRgn (40, 40, 200, 200) устанавливает ограничивающую область в виде прямоугольника с определенными координатами. Если рисунок имеет больший размер, то изображение вне ограничивающей областью игнорируется. Важное место в графическом инструментарии Delphи занимают классы TGraphиc и TPиcture. TGraphиc является абстрактным классом, использует общие свойства и методы своих потомков: пиктограммы (Tиcon), метафайла (TMetafиle) и растрового изображения TBиtmap. Их общей особенностью является то, что они хранятся в файлах определенного формата. Пиктограммы представляют собой небольшие растровые изображения, снабжены специальными средствами, регулирующих их прозрачность. Изображение значка сохраняется в файле с расширением.ico. Метафайл является изображением, построенное с помощью специальных команд и хранится в файлах с расширением.vmf или.emf. Растровые изображения графическими файлами со стандартным расширением.bmp. Функциональный класс TPиcture имеет все необходимые средства для работы с готовыми графическими изображениями: пиктограммой, растром и метафайлами. Его свойство Graphиc может включать объекты каждого из этих типов. Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того, чтобы вывести на поверхность объекта графический элемент (прямую линию, круг, прямоугольник и т. Д.), Необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10, 10, 100, 100) вычерчивает в окне программы прямоугольник.

Полотно

Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство canvas - это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. Д.), А свойства позволяют задать характеристики графических примитивов, выводимых: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации. Методы вывода графических примитивов рассматривают свойство Canvas как некоторое абстрактное полотно, на котором они могут рисовать (canvas переводится как " поверхность", " холст для рисования"). Полотно состоит из отдельных точек - пикселей. Положение пиксела характеризуется его горизонтальными (X) и вертикальными (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты растут сверху вниз и слева направо (см. Рис). Значения координат правой нижней точки полотна зависят от размера полотна.

Координаты точек полотна

Размер полотна можно получить, обратившись к свойствам Height и Width области иллюстрации (image) или к свойствам формы: ClientHeight и Clientwidth.

Карандаш и кисть

Художник в своей работе использует карандаши и кисти. Методы, обеспечивающие вычеркивания на поверхности полотна графических примитивов, тоже используют карандаш и кисть. Карандаш применяется для вычеркивания линий и контуров, а кисть - для окраски (заливки) областей, ограниченных контурами.

Карандашу и кисточке, используемый для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые являются объектами типа TPen и ТВrush соответственно. Значения свойств этих объектов определяют вид графических элементов, выводимых.

4. Визуальные компоненты способны генерировать и обрабатывать достаточно большое число (несколько десятков) событий различных видов. К наиболее общим группам событий можно отнести следующие:

выбор элемента управления;

перемещение указателя мыши;

вращение колеса мыши;

нажатие клавиш;

получение и потеря элементом управления фокуса ввода;

перемещение объектов методом drag-and-drop (перетаскиванием).

В языке Object Pascal — основе Delphi — события также являются свойствами и принадлежат к соответствующему типу.

OnMouseDown? OnClick? OnMouseUp? OnDblClick? OnMouseDown? OnMouseUp.

При перемещении указателя мыши над визуальным компонентом непрерывно вырабатывается событие onMouseMove типа TMouseMoveEvent

Ряд событий связан с вращением колеса мыши: OnMouseWheel, OnMouseWheelDown и OnMouseWheelUp. При вращении колеса мыши вперед и назад генерируются соответственно события OnMouseWheelDown и OnMouseWheelUp типа TMouseWheelUpDownEvent.

 

 

procedure TForm1. FormMouseMove (Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

Form1.'Caption: = 'Координаты указателя мыши: '' +IntToStr(X)+' и '+IntToStr(Y);

end;

Событие при работе с клавиатурой OnKeyPress и OnKeyDown

При работе с клавиатурой генерируются события OnKeyPress и OnKeyDown, возникающие при нажатии клавиши, а также событие OnKeyUp, возникающее при отпускании клавиши. При нажатии клавиши возникновение событий происходит в следующем порядке: OnKeyDown? OnKeyPress? OnKeyUp.

При удерживании клавиши нажатой непрерывно генерируется событие OnKeyDown, событие OnKeyUp возникает однократно после отпускания клавиши.

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

Событие при получении фокуса оконным элементом onEnter

При получении фокуса оконным элементом управления возникает событие onEnter типа TNotifyEvent. Оно генерируется при активизации элемента управления любым способом, например, щелчком мыши или с помощью клавиши < ТаЬ>. В случае потери фокуса ввода оконным элементом управления возникает событие OnExit типа TNotifyEvent.

procedure TForm1.Edit1Enter(Sender: TObject);

begin

Label1.Caption: = (Sender as TControl).Name + ' активен';

end;

procedure TForm1.Edit1Exit(Sender: TObject);

begin

Label1.Caption: = TEdit(Sender).Name + ' не активен';

end;

5. 1. События клавиатуры

Событие (Event) - это то, что происходит во время работы программы. В Delphi каждому событию присвоено имя. Например, щелчок кнопкой мыши - это событие OnClick, двойной щелчок мышью событие OnDblClick.

Событие Происходит

OnKeyPress При нажатии клавиши клавиатуры

OnKeyDown При нажатии клавиши клавиатуры. События OnKeyDown и OnKeyPress - это чередующиеся повторяющиеся события, которые происходят до тех пор, пока не будет отпущена удерживаемая клавиша (в этот момент происходит событие OnKeyUp)

OnKeyUp При отпуске нажатой клавиши клавиатуры

Реакцией на событие должно быть какое-либо действие. В Delphi реакция на событие реализуется как процедура обработки события. Таким образом, для того чтобы программа выполняла некоторую работу в ответ на действия пользователя, программист должен написать процедуру обработки соответствующей события. Следует обратить внимание на то, что значительную часть обработки событий берет на себя компонент. Поэтому программист должен разрабатывать процедуру обработки события только в том случае, если реакция на событие отличается от стандартной или не определена. Например, если по условию задачи ограничений на символы, вводимые в поле Edit, нет, то процедуру обработки события OnKeyPress писать не надо, так как во время работы программы будет использована стандартная (скрытая от программиста) процедура обработки этого события.

События с мышью

Событие OnMouseMove возникает при наведении мышью на компонент. Это событие можно использовать для создания «живого» интерфейса, когда компонент изменяет свое оформление при наведении на него мышью.

Например. Пусть имеется поле Edit1. При наведении на него мышью фон поля меняется, а при наведении на форму - принимает исходный цвет.

В событии поля OnMouseMove напишем код:

procedure Tform1.Edit1Mousemove (Sender: Tobject; Shift: Tshiftstate; X, Y: Integer);

begin

// Устанавливаем цвет фона для поля

edit1.Color = clyellow;

end;

В событии формы OnMouseMove напишем код:

procedure Tform1.Formmousemove (Sender: Tobject; Shift: Tshiftstate; X, Y: Integer);

begin

// Возвращаем для поля начальный белый цвет

edit1.Color = clwhite;

end;

Это же событие можно использовать для информирования в строке статуса о назначении компонента, на который приведена мышь.

Например. Пусть имеется поле Edit1. При наведении на него мышью в строке статуса появляется текст «Текстовое поле», а при наведении на форму - текст исчезает.

В событии поля OnMouseMove напишем код:

procedure Tform1.Edit1Mousemove (Sender: Tobject; Shift: Tshiftstate; X, Y: Integer);

begin

// В строке статуса отражаем текст

statusbar1.simpletext = 'Текстовое поле';

end;

В событии формы OnMouseMove напишем код:

procedure Tform1.Formmousemove (Sender: Tobject; Shift: Tshiftstate; X, Y: Integer);

begin

// В строке статуса очищаем текст

statusbar1.simpletext = '';

end;

В некоторые обработчики событий мыши передаются параметры Button, Shift, X и Y.

Button определяет кнопку мыши и может принимать значение: mbleft - левая кнопка; mbright - права кнопка; mbmiddle - средняя кнопка.

Shift определяет, какие вспомогательные клавиши на клавиатуре нажаты в момент нажатие кнопки мыши и может принимать значение ssshift, ssalt, ssctrl. Поскольку Shift является множеством, проверять наличие в нем тех или других элементов надо операцией in: (ssalt in Shift) - нажата клавиша Alt, (ssshift in Shift) - нажата клавиша Shift, (ssctrl in Shift) - нажата клавиша Ctrl.

X, Y - координаты курсора в клиентской области компонента. Благодаря этом можно обеспечить разную реакцию зависимости от того, в которой части клиентской области расположен курсор.

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

Пусть есть список Listbox1. Если щелкнуть на нем Alt + левая кнопка мыши, то список очищается, если щелкнуть Crtl + левая кнопка мыши, то список меняет цвет фона, если щелкнуть Alt + Shift + правая кнопка мыши, то список скрывается из формы.

Обработчик можно написать в события списке OnMouseDown или OnMouseUp компонента ListBox.

procedure tform1.listbox1mousedown (sender: tobject; button: tmousebutton; shift: tshiftstate; x, y: integer);

begin

// Если нажаты Alt + левая кнопка мыши

if (button = mbleft) and (ssalt in shift) then

listbox1.clear

// Если нажаты Ctrl + левая кнопка мыши

else if (button = mbleft) and (ssctrl in shift) then

listbox1.color = clgreen

// Если нажаты Alt + Ctrl + левая кнопка мыши

else if (button = mbright) and (ssalt in shift) and (ssctrl in shift) then

listbox1.visible = false;

end;

Рассмотрим теперь события OnMouseWheel, OnMouseWheelUp и OnMouseWheelDown, которые введены начиная с Delphi 5. Эти события связаны с вращением колесика мыши.

Многие оконных компонентов - многострочные окна редактирования, списки и т.д. имеют обработчики вращений колесика по умолчанию. Это относится к Memo, Richedit, Listbox и многих других, в том числе и к форме. Правда, в некоторых из них, например, в Memo, эти обработчики по умолчанию будут срабатывать только в том случае, если в компоненте заданные полосы прокрутки (собственно, это обработчики не самых элементов, а полос прокрутки).

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

В событии формы OnMouseWheelDown напишем код:

procedure Tform1.Formmousewheeldown (Sender: Tobject; Shift: Tshiftstate; Mousepos: Tpoint; var Handled: Boolean);

begin

// Уменьшаем ширину формы

form1.Width = form1.Width-10;

// Уменьшаем высоту формы

form1.Height = form1.Height-10;

end;

В событии формы OnMouseWheelUp напишем код:

procedure Tform1.Formmousewheelup (Sender: Tobject; Shift: Tshiftstate; Mousepos: Tpoint; var Handled: Boolean);

begin

// Увеличиваем ширину формы

form1.Width = form1.Width + 10;

// Увеличиваем высоту формы

form1.Height = form1.Height + 10;

end;

При таком подходе необходимо, чтобы форма имела ограничения на минимальные и максимальные значения ширины и высоты (свойство формы Constraints). А если нет, то форма может уменьшаться до заголовка, а увеличиваться за пределы окна.

Перетаскивания информации

Процесс перетаскивания с помощью мыши информации с одного объекта на другой (Drag & Drop), коротко называемый перетаскиванием, очень широко используется в Windows.

Код перетаскивания нужно писать в события OnMouseDown компонента перетаскивается. Сам код имеет вид:

releasecapture ();

(Sender as tcontrol).perform (wm_syscommand, $ f012, 0);

Код является универсальным и может использоваться для любого компонента. Например: организуем перетаскивания кнопки по форме с помощью комбинации Alt + левая кнопка мыши.

В событии кнопки OnMouseDown напишем код:

if (button = mbleft) and (ssalt in shift) then

begin

releasecapture ();

(Sender as tcontrol).perform (wm_syscommand, $ f012, 0);

end;

Например: организовать перетаскивание формы по экрану за любое свободное место на ней.

В событии формы OnMouseDown напишем код:

if (button = mbleft) and (ssalt in shift) then

begin

releasecapture ();

(Sender as tcontrol).perform (wm_syscommand, $ f012, 0);

6. Модуль - это автономно компилируемая программная единица, включающая в себя различные компоненты интерфейсного раздела (типы, константы, переменные, процедуры и функции) и, возможно, некоторые исполняемые операторы инициирующего раздела. Появление объектов в интерфейсной части делает их доступными для других модулей и основной программы. Тела процедур и функций располагаются в исполняемой части модуля, которая может быть скрыта от пользователя.

Роль модулей в Delphi НЕ исчерпывается только механизмом раздельное компиляции. Delphi связывает с каждым включаемым в программу окном собственный модуль и таким способом локализует все свойства окна в отдельной программной единице. Как мы уже выяснили (см. П. 5.2), основная программа (файл проекта dpr) весьма специфична: она содержит перечень всех используемых в программе модулей и несколько исполняемых операторов обеспечивающих создание нужных окон и связь программы с Windows. Всяосновная работа программы управляется кодом, содержащимся в модулях.

Структура модуля

Модуль имеет следующую структуру:

Unit < имя>;

interface

< Интерфейсная часть> implementation

< Исполняемая часть> initialization < нициирующая часть> finalization < завершающая часть>

end.

Здесь unit - зарезервированное слово (единица) начинает заголовок модуля; < Имя> - имя модуля (правильный идентификатор) interface - зарезервированное слово (интерфейс) начинает интерфейсную часть модуля implementation - зарезервированное слово (выполнение) начинает исполняемую часть; initialization -зарезервированное слово (Инициация) начинает инициирующую часть модуля finalization - зарезервированное слово (завершение);

начинает завершающую часть модуля; end - зарезервированное слово - признак конца модуля.

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

Заголовок модуля И СВЯЗЬ модуль ДРУГ С ДРУГОМ

Заголовок модуля состоит из зарезервированного слова unit и следующего за ним имени модуля. Для правильной работы среды Object Pascal и возможности подключения средств, облегчающий разработку крупных программ, это имя должно совпадать с именем дискового файла, в який помещается исходный текст модуля. Если, например, имеем заголовок

Unit Global;

то исходный текст соответствующего модуля должен размещаться в дисковом файле global. pas. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальными предложением

Uses < сп.модулей>

Здесь uses - зарезервированное слово (использует); < сп.модулей> -список модулей, с Которым устанавливается связь; элементами списка являются имена модулей, отделяемые друг от друга запятыми, например:

USES Windows, SysUtils, MyUnit;

Если объявление uses используется, оно должно открывать раздел описан основной программы. Модули могут использовать другие модули. Предложение uses в модулях может следовать либо сразу за

зарезервированным СЛОВОМ interface, либо Сразу за словом implementation, либо, наконец, и там, и там (т. е. в модуле допускаются два предложения uses).

7. Большинство сложных программ в настоящее время имеют систему меню предназначена для выбора различных путей выполнения приложения. Меню представляет собой набор команд, при выборе каждой из которых выполняются определенные программистом действия. В Delphi предусмотрено два компонента, которые используются для создания меню: MainMenu - главное меню и РорирМеnu - контекстное меню.

MainMenu. Для пользователя размещения на форме этого элемента не играет никакой роли, так как он является экранного компонентом. При выполнении программы будет видно только меню сгенерирует компонент MainMenu.

Как правило, на форме достаточно одного главного меню и, соответственно, элемента MainMenu. В этом случае свойства Menu формы, на котором расположен MainMenu, автоматически присваивается имя данного компонента, то есть объект его свойства Name. Однако на одной форме возможно размещение нескольких компонентов MainMenu с различными разделами. Тогда свойства Menu формы присваивается имя одного из них. А при выполнении программы это свойство можно изменять, перевпорядкувавшы соответствующим образом разделы главного меню приложения.

Наиболее важным свойством MainMenu есть свойство Items.

Его заполнение происходит с помощью окна Menu Designer (конструктора меню), которое можно вызвать тремя способами.

Во-первых, щелкнув мышью два раза по компоненту MainMenu.

Во-вторых, нажав на кнопку, расположенную в правой части свойства Items в инспекторе объектов.

В-третьих, нажать на элементе правой кнопкой мыши и в контекстном меню выбрать команду Menu Designer.

Другим вариантом создания нового раздела является использование команды Insert контекстного меню. В этом случае новый раздел добавляется к меню перед тем пунктом, рамка которого была выделена. Перед такой вставкой предварительно должен быть выделен какой-либо раздел меню.

Каждый элемент свойства Items, каков любую раздел - это объект класса TMenuИtem со своими свойствами, методами и событиями.

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

Компонент РорuрМеnu. Компоненты этого типа используются для создания локального (контекстного) меню. Локальное меню привязывается к конкретным компонентов. В отличие от главного меню постоянно находится на экране, локальное меню выводится по мере необходимости. Для того чтобы вспомогательное меню компонента появилось на экране, необходимо установить фокус на этот компонент и нажать правую кнопку мыши. В локальное меню включаются команды нужны при работе с компонентом в первую очередь. Как правило, такое меню есть одноуровневым, хотя это не обязательно.

Большинство оконных компонентов (рамки, редакторы текста и т.д.) содержат свойство РорuрМеnu, поле ввода которой умолчанию не заполнено. С помощью этого свойства и происходит связывание компонента с локальным меню. В поле ввода РорuрМеnu определенного компонента записывается название соответствующего вспомогательного (контекстного) меню. Для создания локального меню необходимо разместить компонент РорuрМеnu на форму и, два раза щелкнув по нему мышью, вызвать конструктор меню. После чего можно создавать меню. Пункты локального меню будут добавляться только по вертикали. При разработке вспомогательного меню в Menu Designer можно использовать его локальное меню.

<== предыдущая лекция | следующая лекция ==>
Сегментные регистры | Урок русского языка в 8 классе




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.