Пример решения задачи
Составьте программу, в которой при выборе элемента в выпадающем списке ComboBox, заголовок главной формы будет изменен на строку, являющуюся значением выбранного элемента списка ComboBox.
Создадим новое приложение. Выберем меню File > New > Application. Обратимся к вкладке Standard палитры компонентов Delphi, и поместим на форму компонент ComboBox (Рис. 1).
Рис. 1. Редактируемая форма. Компонент ComboBox1.
Заполним список несколькими значениями. Вызовем редактор свойства Items компонента ComboBox1 (Рис. 2).
Рис. 11. Редактор свойства Items компонента ComboBox1.
Установим в свойство ItemIndex компонента ComboBox1 значение 0. Это позволит списку изначально отображать первый элемент (Рис. 12).
Рис. 12. Редактируемая форма. Компонент ComboBox1.
При выборе элемента выпадающего списка происходит событие OnSelect этого компонента. Создадим обработчик события OnSelect компонента ComboBox1. В обработчике компонента будем изменять заголовок формы на текст выделенного в списке элемента:
procedure TForm1.ComboBox1Select(Sender: TObject);
Begin
Form1.Caption:=ComboBox1.Text;
end;
Приложение. Некоторые функции модуля SysUtils.
Функция
| Описание
| functionIntToStr(Value:integer):string
| Переводит целое число в строку
| function StrToInt(Value: string): integer
| Переводит строку в целое число
| functionStrComp(Str1:PAnsiChar; Str2:PAnsiChar):integer
| Сравнивает две строки. Возвращает 0 если строки совпадают. Если вы используете переменные типа string, то в функцию необходимо помещать преобразованный тип. Например:
…
var s1,s2:string;
…
ifStrComp(PAnsiChar(s1),
PAnsiChar(s2))=0 then…
| functionTrim(const S:String):string
| Функция возвращает строку равную строке S, но с удаленными концевыми пробелами
|
Вариант 1
Составьте программу, в которой при выборе элемента в выпадающем списке ComboBox, заголовок главной формы будет изменен на строку, являющуюся значением выбранного элемента списка ComboBox.
Вариант 2
Составьте программу, которая при отпускании правой кнопки мыши над списком ListBox, будет выдавать информационное сообщение, содержащее индекс выделенного элемента этого списка
Вариант 3
Составьте программу, в которой при нажатии левой кнопки мыши элементы списка ListBox сортируются по алфавиту
Вариант 4
Составьте программу, которая выясняет, совпадает ли содержимое двух списков строк, представленных компонентами ListBox и ComboBox
Вариант 5
Составьте программу, выясняющую, сколько элементов списка ListBox содержат символ «V»
Вариант 6
Составьте программу, удаляющую из списка ListBox выделенный элемент по нажатию правой кнопки мыши над ним.
Вариант 7
Составьте программу, которая при выборе элемента из списка ComboBox, будет выяснять, существует ли этот элемент в списке ListBox.
Вариант 8
Составьте программу, организующую добавление и удаление элементов списка ListBox
Вариант 9
Составьте программу, выясняющую все ли элементы списка ComboBox различны
Вариант 10
Составьте программу, поиска в списке заданного слова X
Вариант 11
Составьте программу, утраивающую каждый третий символ в каждом элементе списка ListBox
Вариант 12
Составьте программу, удаляющую из списка ListBox те элементы, что стоят на четных местах
Вариант 13
Составьте программу, удаляющую те элементы списка ListBox, что стоят на нечетных местах
Вариант 14
Составьте программу, в которой при выборе элементов, представляющих числовые значения, в списке ComboBox, в соответствие с выбранным значением (числом), будет изменяться ширина главной формы.
Вариант 15
Составьте программу, удаляющую из списка ListBox те элементы, что не встречаются в списке ComboBox
Вариант 16
Составьте программу, выясняющую, сколько раз в списке ListBox встречается его последний элемент
Вариант 17
Составьте программу, в которой, при выборе элемента в списке ListBox в компонент Memo будет добавляться его значение.
Вариант 18
Составьте программу, загружающую из файла элементы списка ComboBox.
Вариант 19
Составьте программу, вычеркивающую из списков ListBox и ComboBox те элементы, что встречаются в них одновременно
Вариант 20
Составьте программу, в которой при отпускании правой кнопки мыши над списком ListBox в него будет заноситься элемент, значение которого есть текст компонента Edit
Вариант 21
Составьте программу, организующую добавление и удаление элементов списка ListBox
Вариант 22
Составьте программу, удаляющую те элементы списка ListBox, что не встречаются в ComboBox
Вариант 23
Составьте программу, выясняющую, все элементы списка ComboBox одинаковы
Вариант 24
Составьте программу, позволяющую при выборе элемента списка ComboBox добавлять элемент с таким же значением в список ListBox
Вариант 25
Составьте программу, позволяющую мышью переносить элемент из одного списка ListBox в другой список ListBox
Вариант 26
Составьте программу, которая позволяет записывать индексы одновременно выделенных нескольких элементов списка ListBox в редактор текста Memo, при двойном щелчке на нем.
Вариант 27
Составьте программу, выясняющую, сколько элементов списка ListBox, находятся в выделенном состоянии. Если не один, то записать значения выделенных элементов в список ComboBox
Вариант 28
Составьте программу, определяющую, сколько в списке ListBox повторяющихся строк
Вариант 29
Составьте программу, в которой в зависимости от выбранного элемента списка ComboBox изменяется текст всплывающей подсказки редактора текста Edit
Вариант 30
Составьте программу, удаляющую из списка ListBox те элементы, что не встречаются в списке ComboBox
Вариант 31
Составьте программу, выясняющую, какой из элементов списка ListBox имеет максимальную длину
Вариант 32
Составьте программу поиска чаще всего встречающегося элемента списка ComboBox
Вариант 33
Составьте программу, выясняющую, совпадают ли первый и последний элементы списка ComboBox
Вариант 34
Составьте программу, заменяющую каждый элемент списка ListBox, имеющий четный индекс, символом «0»
Вариант 35
Составьте программу, позволяющую добавлять, удалять элементы списка ListBox, и сохранять их в текстовый файл
Вариант 36
Составьте программу, добавляющую в список ComboBox те элементы списка ListBox, что имеют нечетный индекс
Вариант 37
Составьте программу, выясняющую, сколько элементов списка ListBox встречаются в списке ComboBox
Вариант 38
Составьте программу, в которой при двойном щелчке мышью на компоненте ListBox, все его элементы переносятся в список ComboBox
Вариант 39
Составьте программу, позволяющую при выборе элемента списка ComboBox, изменять текст в редакторе Edit на текст выбранного элемента списка
Вариант 40
Составьте программу вставки после каждого элемента списка ListBox строки «XXX»
Лабораторная работа № 4
«Работа с компонентами ImageList, ComboBoxEx»
Невизуальный компонент ImageList предназначен для хранения в памяти последовательности (списка) небольших графических изображений формата BMP или ICO. Располагается этот компонент на вкладке Win32 палитры компонентов Delphi.
Создадим новое приложение. Перейдем на вкладку Win32 и поместим на форму компонент ImageList (Рис. 6).
Рис. 6. Редактируемая форма. Компонент ImageList1.
Двойным щелчком левой кнопки мыши над компонентом ImageList1 вызовем редактор списка графических изображений, хранящегося в этом компоненте. Изначально он пуст (Рис. 7). Для того чтобы поместить одно или сразу несколько изображений, необходимо нажать кнопку Add.
Примечание. Подходящие изображения можно найти по адресу Program Files\Common Files\Borland Shared\Images\Icons
После загрузки появится список с графическими изображениями. Как и все списки в Delphi, этот список начинается с нуля (Рис. 8).
Рис. 7. Редактор списка изображений компонента ImageList1.
В списке можно перетаскивать мышью изображения. Заменить (Replace), удалить (Delete), экспортировать (Export) изображение. Очистить список целиком (Clear).
Рис. 8. Редактор списка изображений компонента ImageList1.
После подтверждения все изображения сохранятся в файле формы DFM и не будут связаны с файлами, из которых они были загружены. Отредактировать список ImageList1 можно также в редакторе, который вызывается двойным щелчком левой кнопки мыши.
Сам по себе невизуальный компонент ImageList является лишь своеобразным хранилищем данных. Где в качестве данных выступают графические изображения, как правило, ширина и высота которых не превышает 32 px. В нашем случае не превышает 16 px.
Компонент ComboBoxEx. Одним из компонентов, который имеет возможность использовать данные списка ImageList, является визуальный компонент ComboBoxEx, располагающийся на той же вкладке Win32. Этот компонент подобен визуальному компоненту ComboBox, реализующему выпадающий список. Новый компонент ComboBoxEx отличается от обычного списка тем, что помимо строк, он может отображать графическое изображение для каждого элемента списка.
Продолжим разработку нашего приложения. Поместим на форму компонент ComboBoxEx (Рис. 9).
Рис. 9. Редактируемая форма. Компонент ComboBoxEx1.
Для того чтобы компонент ComboBoxEx1 знал откуда ему брать графические изображения для своих элементов, необходимо связать его с компонентом ImageList. Эту связь мы организуем при помощи диаграммы. Перейдем на окно редактора кода и выберем вкладку Diagram. Поместим в область Diagram из окна дерева объектов компоненты ImageList1 и ComboBoxEx1 (путем перетаскивания мышью). Расположим компонент ImageList1 выше компонента ComboBoxEx1 (Рис. 9).
Рис. 9. Окно редактора кода. Вкладка Diagram.
Выберем инструмент Property Connector (соединение компонента по свойству). Доведем указатель мыши в виде крестика до компонента ComboBoxEx1 и соединим с компонентом ImageList1 – установится связь (Рис. 10), Delphi автоматически запишет в свойство Images компонента ComboBoxEx1 значение ImageList1. Это означает, что ComboBoxEx1 будет использовать изображения из списка ImageList1.
Рис. 10. Окно редактора кода. Вкладка Diagram. Связь между компонентами.
Переходим к компоненту ComboBoxEx1. Создадим элементы списка. Для этого вызовем редактор свойства ItemsEx компонента ComboBoxEx1. С помощью кнопки в редакторе добавим три элемента (Рис. 11).
Рис. 11. Редактор свойства ItemsEx компонента ComboBoxEx.
Выделим первый элемент списка в редакторе (Рис.11) и свойству Caption элемента назначим значение «Строка1». В области значения свойства ImageIndex элемента выберем первое изображение, значение 0.
Для второго элемента установим:
· Caption = Строка2
· ImageIndex=1
Для третьего элемента установим:
· Caption = Строка3
· ImageIndex=2
Завершим работу с редактором свойства ItemsEx. Запустим приложение. На форме отображается компонент ComboBoxEx1, его содержимое: три элемента, содержащие текст и графическое изображение (Рис. 12).
Рис. 12. Приложение. Выпадающий список, реализованный на основе компонента ImageList1.
Общее задание
Дополнить выпадающий список ComboBoxEx1 V-ю (V-номер варианта) различными графическими изображениями.
Лабораторная работа № 5
«Компоненты-оболочки для специализированных окон диалогов»
В Delphi существуют специальные компоненты, позволяющие организовать работу со специализированными окнами диалогов операционной системы. К таким диалогам относят: диалог выбора пути к файлу, диалог выбора цвета, диалог настройки шрифта и т.д. Все эти диалоги вызываются специализированными функциями операционной системы, но в Delphi эти диалоги выполнены в виде невизуальных компонентов. Эти компоненты называются компонентами-оболочками. Они позволяют уже на этапе разработки приложения настроить все необходимые параметры окна диалога (например: для диалога выбора цвета – текущий цвет, для диалога выбора пути к файлу – тип просматриваемых файлов или текущая директория), а во время работы приложения вызвать необходимое окно диалога.
Создадим новое приложение. Перейдем к вкладке Standard палитры компонентов и поместим на форму компонент Memo и четыре компонента Button. Настроим свойства компонентов.
Для компонента Memo1:
· Top=0
· Left=0
· Width=300
· Height=300
· Lines (В появившемся редакторе свойства необходимо удалить все строки)
Для компонента Button1:
· Caption = Открыть.
· Top=10
· Left=310
· Width=75
· Height=25
Для компонента Button2:
· Caption = Сохранить.
· Top=40
· Left=310
· Width=75
· Height=25
Для компонента Button3:
· Caption = Шрифт.
· Top=70
· Left=310
· Width=75
· Height=25
Для компонента Button4:
· Caption = Фон
· Top=100
· Left=310
· Width=75
· Height=25
Для компонента Form1 (формы):
· Caption = Диалоги
· Width=400
· Height=350
· BorderStyle = bsDialog
Перейдем на вкладку Dialogs палитры компонентов и поместим на форму компоненты:
1. OpenDialog – диалог открытия файла;
2. SaveDialog – диалог сохранения файла;
3. ColorDialog – диалог выбора цвета;
4. FontDialog – диалога выбора шрифта.
Редактируемая форма будет выглядеть следующим образом (Рис. 1):
Рис. 1. Редактируемая форма.
Настроим свойства компонента OpenDialog:
· Title (Заголовок окна диалога) = Открытие текстового файла
· Filter (Рис. 2). В редакторе этого свойства мы указываем, какие файлы должен отображать диалог. В поле Filter Name записывается комментарий, в поле Filter командная строка. Командная строка должна состоять из «*.» и расширения файла.
Рис. 2. Редактор свойства Filter компонента OpenDialog1
Наш диалог будет отображать для открытия только текстовые файлы с расширением TXT.
Таким же образом настроим значение свойства Filter компонента SaveDialog1. Далее настроим также его свойства:
· Title = Сохранение текстового файла
· DefaultExt = txt (Расширение файла по умолчанию. Если при сохранении пользователь приложения забудет написать расширение файла, то диалог автоматически запишет файлу расширение, указанное в DefaultExt).
Создадим обработчик события OnClick компонента Button1 и вызовем в нем диалог открытия файла:
procedure TForm1.Button1Click(Sender: TObject);
Begin
// если пользователь выбрал файл для открытия
if OpenDialog1.Execute then
// загружаем в редактор Memo1 текст из файла (путь к файлу – значение свойства FileName)
memo1.Lines.LoadFromFile(Opendialog1.FileName);
end;
Метод Execute является функцией вызывающей окно диалога (это справедливо для всех рассматриваемых далее диалогов). Она принимает значение истины, если пользователь подтверждает свой выбор в диалоге, – ложь в противном случае (т.е. если нажата кнопка «Отмена»).
Создадим обработчик события OnClick компонента Button2 и вызовем в нем диалог сохранения файла:
procedure TForm1.Button2Click(Sender: TObject);
Begin
// если сформирован путь, имя нового файла, и пользователь подтвердил свои действия
if SaveDialog1.Execute then
// сохраняем текст из Memo1 по указанному пути (путь к файлу – значение свойства FileName)
memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
Создадим обработчик события OnClick компонента Button3 и вызовем в нем диалог выбора шрифта:
procedure TForm1.Button3Click(Sender: TObject);
Begin
// если выбран шрифт, то меняем шрифт редактора Memo1 на выбранный шрифт
if FontDialog1.Execute then
Memo1.Font:=FontDialog1.Font;
end;
Создадим обработчик события OnClick компонента Button4 и вызовем в нем диалог выбора цвета:
procedure TForm1.Button4Click(Sender: TObject);
Begin
// если выбран цвет, то меняем цвет редактора Memo1 на выбранный цвет
if ColorDialog1.Execute then
Memo1.Color:=ColorDialog1.Color;
end;
Теперь мы получили с вами простейшее приложение с использованием стандартных диалогов. Запустите приложение и проверьте его работу.
Общее задание
Создать приложение с использованием диалогов открытия и сохранения графических изображений (OpenPictureDialog, SavePictureDialog). Для отображения графики необходимо использовать компонент Image.
Лабораторная работа № 6
«Компоненты – переключатели и флажки, их группирование»
Компоненты RadioButton (радиокнопка или переключатель) и CheckBox (флажок) – это оконные элементы управления, предназначенные для организации выбора действий в приложении. Располагаются они на вкладке Standard палитры компонентов Delphi.
Компонент RadioButton, как правило, используется в группе с несколькими компонентами своего типа. Причем если эти компоненты располагаются в одном родительском окне, то выделен, может быть лишь один из них – при выделении одного из переключателей, выделение у всех остальных снимается (Рис. 1).
Рис. 1. Группа компонентов RadioButton
Программно узнать, выделен компонент RadioButton или нет, а также принудительно выделить его – можно, обратившись к свойству Checked логического типа.
Компонент CheckBox может использоваться как в группе с несколькими компонентами своего типа, так и один (Рис. 2). Пользователь в любой момент может выделить флажок или отменить его выделение. Причем, это не зависит от того, используется он в группе таких же компонентов, или нет. Программно узнать, выделен флажок CheckBox или нет, а также принудительно выделить его – можно также, обратившись к свойству Checked логического типа.
Рис. 2. Компоненты CheckBox
Для группировки переключателей и флажков может использоваться любой компонент, являющийся оконным элементом управления (на этапе разработке только окна-контейнеры: ScrollBox, Form, GroupBox, Frame и т.д.).
Создадим приложение с использованием рассмотренных нами компонентов. Приложение позволит автоматизировать процесс педагогического тестирования по информатике.
Тест по программированию будет состоять из пяти вопросов:
Вопрос 1. С какого служебного слова начинается описание модуля в Object Pascal?
1) Main_proc ();
2) Global_module
3) Module
Unit
Вопрос 2. В Object Pascal служебное слово Inherited означает:
1) вызов унаследованного метода;
2) подключение DLL;
3) подключение модуля.
Вопрос 3. В Turbo Pascal 7 в главной программе невозможно описание вида:
1) var D:array[1..100] of integer;
2) var F:integer
3) var HC:integer=0.
Вопрос 4. (15 mod 3)=
1) 3
2) 5
3) 0
Вопрос 5. (57 div 2)=
1) 23,5
2) 23
3) 28
Создадим новое приложение, выбрав File > New > Application. Обратимся к вкладке Win32 и поместим на форму компонент PageControl. Создадим пять страниц в элементе управления, вызвав его контекстное меню правой кнопкой мыши над ним, и выбрав New Page. (Рис. 3). Выделим компонент PageControl, щелкнув левой кнопкой мыши в область заголовка этого компонента и в Инспекторе объектов настроим его свойства:
· Top=0
· Left=0
· Width=400
· Height=300
Выберем первую страницу TabSheet1, щелкнув левой кнопкой мыши на ее заголовок и щелкнув в ее графическую область. Свойству Caption страницы TabSheet1 установим значение «Вопрос №1». Поместим на страницу четыре компонента типа RadioButton (если компонент помещен на страницу, то он при перетаскивании он не будет выходить за ее пределы). Свойствам Caption компонентов типа RadionButton установим значения в соответствии с ответами на первый вопрос теста. Выделим первую радиокнопку, установив в ее свойство Checked значение true. Поместим на страницу TabSheet1 компонент Label, и его свойству Caption установим значение, являющееся текстом первого вопроса теста (Рис. 4).
Рис. 3. Редактируемая форма. Компонент PageControl.
Подобным образом, в соответствие с вопросами теста заполним остальные четыре страницы TabSheet2, TabSheet3, TabSheet4, TabSheet5.
Рис. 4.
Поместим на форму компонент Memo. Он необходим нам для вывода результатов тестирования (статистики тестирования).
Установим значения свойств компонента Memo1:
· Left=400
· Top=0
· Width=100
· Height=300
· Lines (В редакторе свойства необходимо удалить все строки)
· ReadOnly = true (Только для чтения)
Поместим на форму компонент Button (Рис. 5) и установим значения его свойств:
· Caption = Показать результат тестирования
· Left=0
· Top=300
· Width=500
· Height=25
Рис. 5. Редактируемая форма. Компонент Button1.
Создадим обработчик события OnClick компонента Button1:
procedure TForm1.Button1Click(Sender: TObject);
Begin
// очищаем редактор текста от предыдущих результатов
Memo1.Lines.Clear;
// так как в первом вопросе верным ответом является четвертый, а ответ реализован компонентом
// RadioButton4, то проверяем, отмечен ли четвертый переключатель и заносим в Memo
// соответствующую информацию
if RadioButton4.Checked then memo1.Lines.Add('Вопрос №1 Ok')
else memo1.Lines.Add('Вопрос №1 No');
…
…
…
…
end;
Общее задание
Завершить визуальное построение теста на страницах TabSheet2, TabSheet3, TabSheet4, TabSheet5 компонента PageControl1. Дополнить обработчик события OnClick компонента Button1 кодом проверки правильных ответов последних четырех вопросов теста.
Лабораторная работа № 7
«Организация меню. Главное и контекстное меню. Компонент TActionList»
Для организации главного меню формы используется невизуальный компонент MainMenu. Располагается этот компонент на вкладке Standard палитры компонентов Delphi. Рассмотрим работу этого компонента на примере небольшого приложения.
Создадим новое приложение. Поместим на форму компонент MainMenu. Главное меню формируется при помощи дизайнера меню. Дизайнер меню можно вызвать двойным щелчком левой кнопки мыши над компонентом MainMenu или через свойство Items этого компонента в Инспекторе объектов. Дизайнер меню представляет собой редактор элементов (пунктов) меню, он автоматически предлагает создать каждый новый пункт меню, и автоматически дает им имена.
Каждый пункт меню имеет свои собственные свойства и события, которые отображаются в Инспекторе объектов при выделении пункта меню. Главное меню состоит из строки элементов, к каждому из которых может быть сформировано выпадающее меню.
За текст элемента меню отвечает его свойство Caption. В выпадающем меню текст «-» в свойстве Caption элемента воспринимается как команда по разделению, и на месте элемента меню появится разделяющая линия. Создадим стандартное для большинства приложений меню (Рис. 1):
Рис.1. Дизайнер меню.
Дизайнер позволяет осуществлять редактирование меню при помощи своего контекстного меню, которое вызывается по нажатию правой кнопки мыши. Например, создадим выпадающее меню для созданного нами пункта меню «Печать». Для этого выделим этот пункт меню (Рис. 1), далее вызовем контекстное меню и выберем команду Create Submenu (создать подменю). После чего дизайнер предложит нам создать элементы этого меню (Рис. 2).
Контекстное меню дизайнера позволяет осуществлять удаление и вставку элементов меню. Для этого можно также использовать клавиши Delete и Insert.
Рис. 2. Создание подменю
Создадим подменю из двух элементов («Настройка печати», «Печать»). После этого закроем дизайнер меню. Форма примет следующий вид (Рис. 4):
Рис. 4. Редактируемая форма. Сформированное главное меню.
Создадим контекстное меню, по составу аналогичное выпадающему меню в первом пункте главного меню. Контекстное меню реализуется при помощи компонента PopupMenu. Этот компонент располагается на вкладке Standard палитры компонентов Delphi. Контекстное меню изначально не принадлежит ни одному из компонентов, но оно может быть назначено любому визуальному компоненту. Для этого большинство визуальных компонентов имеют свойство PopupMenu. Контекстное меню создается также как и главное при помощи дизайнера меню. После того как контекстное меню создано, назначим его форме. Для этого в списке значений свойства PopupMenu формы выберем значение PopupMenu1. Запустим приложение и правой кнопкой мыши над формой вызовем созданное нами контекстное меню (Рис. 5).
Рис. 5. Работающее приложение. Контекстное меню формы.
Для того чтобы определить код, который должен выполняться при выборе элемента меню, необходимо создать обработчик события OnClick элемента меню. Это осуществляется в дизайнере меню: выделяется элемент меню, в Инспекторе объектов на вкладке Events выбирается событие OnClick и двойным щелчком мыши в область значения этого свойства создается обработчик события.
Фактически мы имеем два одинаковых меню (Главное и контекстное) и нам придется писать два одинаковых кода в обработчиках событий. Допустим меню «Сохранить как» вызывает сложный, громоздкий код сохранения какого-либо проекта в файл. Будет достаточно неудобно копировать два куска кода, и увеличивать размеры программы. А если будет существовать еще несколько графических кнопок, которые будут выполнять то же самое? Конечно, гораздо удобнее создать одну подпрограмму.
Для того чтобы избавить программиста от ненужных манипуляций с вызовом одного и того же кода при событиях различных компонентов, был спроектирован невизуальный компонент TActionList. Он располагается на вкладке Standard палитры компонентов. Поместим его на форму.
Двойным щелчком вызывается редактор подпрограмм, они называются Actions (действия). Создадим одно действие (Рис. 6). Выделим строку Action1, свойству Caption действия назначим значение «Сохранить как». В Инспекторе объектов создадим обработчик события OnExecute элемента Action1. В обработчик события OnExecute поместим вызов информационного окна, которое будет сигнализировать о выбранном действии.
procedure TForm1.Action1Execute(Sender: TObject);
Begin
Showmessage('Вызвано действие сохранения');
end;
Завершим работу с редактором действий и перейдем на форму.
Рис. 6. Редактор действий.
Вызовем дизайнер меню MainMenu1. Выделим элемент «Сохранить как» и в его свойстве Action выберем наше действие Action1. Вызовем дизайнер меню PopupMenu1. Выделим элемент «Сохранить как» и в его свойстве Action выберем наше действие Action1. Запустим приложение и проверим работу меню.
Далее, если нам необходимо будет изменить код действия сохранения, нам не придется обращаться поочередно к одинаковым пунктам главного и контекстного меню. Достаточно будет лишь обратится к компоненту ActionList1, вызвать редактор действий, и изменить обработчик события OnExecute действия Action1.
Общее задание
Создайте действия при помощи компонента ActionList1 для каждого пункта меню.
Задание по вариантам:
Задание 1. Организуйте открытие и сохранение текстового файла с помощью пунктов главного меню.
Задание 2. Организуйте печать текстового документа и выход их программы с помощью пунктов контекстного меню.
Лабораторная работа № 8
«Создание компонентов. Графический и оконный элемент управления»
Дата добавления: 2015-09-18 | Просмотры: 1095 | Нарушение авторских прав
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
|