Практикум по Delphi для решения прикладных задач
f65d50f6

Работа с меню


Цель работы -

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

1. После запуска программы в окне изображается строка меню (Файл, Выход).

2.      При выборе пункта меню Файл появляются пункты меню (Рисунки, Выход).

3.      При выборе пункта меню Рисунки появляется вложенное меню, состоящее из двух пунктов (Облака, Лес).



 


4.      По щелчку правой кнопки мыши появляется контекстное меню.

5.      Выбрать по пункту другой рисунок

 


6.      Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка.

7.      Если выбрать любой из пунктов Выход, работа программы завершается.

Описание плана разработки программы

1.      Открыть новый проект.

2.      Разместить на форме экземпляры компонентов: панель Panel, рисунок Image, диалоговое окно OpenDialog.

3.      Выполнить следующие действия:

Таблица 7.

Выделенный объект

Вкладка окна

Object Inspector

Имя свойства/

имя события

Действие

Form1

Properties

Caption

Установка имени формы «Мое меню»

Events

OnMouseDown

var p:TPoint;

begin

  p.X :=X;

  p.Y :=Y;

  p := ClientToScreen (p);

  PopupMenu1.Popup (p.X, p.Y);

end;

Запустить редактор меню (дважды щелкнуть на значке меню на форме)

Form1.MainMenu1

Properties

(в окне Object Inspector не выбран никакой объект)

Caption

Ввести текст пункта меню – Файл, и нажать Enter. Система присвоит ему имя N1

Между существующими и будущими пунктами меню можно переключаться с помощью щелчка мыши или курсорных клавиш.

Form1.MainMenu1

Properties

Caption

Ввести текст пункта меню – Выход, и нажать Enter. Система присвоит ему имя N2.

Events (щелкнуть на пункте Выход в строке меню)

N2Click

Close;

Щелкните на пункте Файл. Редактор меню создал еще одну заготовку под этим пунктом. Это заготовка для меню, которое откроется при выборе пункта Файл в работающей программе. Используя заготовки, создайте в этом меню два пункта: Рисунки (система присвоит ему имя N3) и Выход (N4). Выберите в редакторе меню пункт Рисунки и нажмите комбинацию клавиш Ctrl  + Вправо.

N4: TMenuItem

Events

OnClick

Выберем из раскрывающегося списка  уже существующую процедуру-обработчик N2Click

Form1.MainMenu1

Properties

Caption

Ввести текст пункта меню – Облака, и нажать Enter. Система присвоит ему имя N5.

N5: TMenuItem

Events (выбрать в строке меню на форме пункт Облака)

OnClick

Image1.Picture.LoadFromFile (‘C:\Windows\Облака.bmp’);

Form1.MainMenu1

Properties

Caption

Ввести текст пункта меню – Лес, и нажать Enter. Система присвоит ему имя N6.

N6: TMenuItem

Events (выбрать в строке меню на форме пункт Лес)

OnClick

Image1.Picture.LoadFromFile (‘C:\Windows\Лес.bmp’);

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


Продолжение таблицы 7.

Выделенный объект

Вкладка окна

Object Inspector

Имя свойства/

имя события

Действие

PopupMenu (Вкладка Standard)

Properties

Caption

Ввести текст пункта меню – Облака, и нажать Enter. Система присвоит ему имя N7.

Caption

Ввести текст пункта меню – Лес, и нажать Enter. Система присвоит ему имя N8.

N7

Events

OnClick

Выберем из раскрывающегося списка  уже существующую процедуру-обработчик N5Click

N8

Events

OnClick

Выберем из раскрывающегося списка  уже существующую процедуру-обработчик N6Click

Image

(Вкладка Additional)

Properties

Stretch

Присвоить значение True

4.      Сохраните проект, запустите и протестируйте его.

Листинг подпрограммы

procedure TForm1.N2Click (Sender: TObject);

begin

   Close;

end;

procedure TForm1.N5Click (Sender: TObject);

begin

   Image1.Picture.LoadFromFile (‘C:\Windows\Облака.bmp’);

end;

procedure TForm1.N6Click (Sender: TObject);

begin

   Image1.Picture.LoadFromFile (‘C:\Windows\Лес.bmp’);

end;

procedure TForm1.FormMouseDown

    (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X. Y: Integer);

var p:TPoint;

begin

  p.X :=X;

  p.Y :=Y;

  p := ClientToScreen (p);

  PopupMenu1.Popup (p.X, p.Y);

end;




Содержание раздела