Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ(Delphi).doc
Скачиваний:
33
Добавлен:
16.08.2019
Размер:
3.26 Mб
Скачать

Лабораторная работа№25 Примеры использования компонента MainMenu и PopupMenu.

Цель занятия: освоить навыки работы с компонентами TShape и TmainMenu, научиться использовать эти компоненты, применяя функции MessageDlg, ColorDialog в программах

Студент должен

знать:

  • расположение компонентов TShape и TMainMenu на Странице Палитры компонентов;

  • для чего предназначены функции MessageDlg и ColorDialog

  • свойства и методы компонентов TShape и TMainMenu;

  • назначение компонентов TShape и TMainMenu;

  • как изменять свойства компонентов TShape и TMainMenu во время выполнения программы;

  • как управлять методами во время выполнения программы;

уметь:

  • изменять значения свойств компонентов TShape и TMainMenu;

  • писать адекватные реакции на события;

  • изменять свойства компонентов TShape и TMainMenu во время выполнения программы;

  • управлять методами компонентов во время выполнения программы;

Примеры и задания:

I. Рассмотрите приведенный ниже пример, поясните процедуры.

Пример.

Создать программу, на форме которой будет находиться компонент TShape. В программе должны быть предусмотрены возможность изменять положение компонента на форме при помощи компонента TScrollBar, а также возможность задавать цвет фигуры при помощи главного меню TMainMenu.

Вид окна программы представлен на рисунке.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.N15Click(Sender: TObject); begin If MessageDlg('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)=mrYes then Close; end; procedure TForm1.N2Click(Sender: TObject); begin Form1.Color:=RGB(Random(255),Random(255),Random(255)); end; procedure TForm1.N3Click(Sender: TObject); begin If ColorDialog1.Execute then Form1.Color:=ColorDialog1.Color; end; procedure TForm1.N5Click(Sender: TObject); begin Shape1.Brush.Color:=ClRed; N5.Checked:=True; N6.Checked:=False; N7.Checked:=False; N16.Checked:=False; N5.Enabled:=False; N6.Enabled:=True; N7.Enabled:=True; N16.Enabled:=True; end; procedure TForm1.N6Click(Sender: TObject); begin Shape1.Brush.Color:=ClBlue; N6.Checked:=True; N5.Checked:=False; N7.Checked:=False; N16.Checked:=False; N5.Enabled:=True; N6.Enabled:=False; N7.Enabled:=True; N16.Enabled:=True; end; procedure TForm1.N7Click(Sender: TObject); begin Shape1.Brush.Color:=ClYellow; N5.Checked:=False; N6.Checked:=False; N7.Checked:=True; N16.Checked:=False; N5.Enabled:=True; N6.Enabled:=True; N7.Enabled:=False; N16.Enabled:=True; end; procedure TForm1.N11Click(Sender: TObject); begin Shape1.Shape:=stEllipse; N9.Checked:=False; N10.Checked:=False; N11.Checked:=True; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N16Click(Sender: TObject); begin Shape1.Brush.Color:=ClGreen; N5.Checked:=False; N6.Checked:=False; N7.Checked:=False; N16.Checked:=True; N5.Enabled:=True; N6.Enabled:=True; N7.Enabled:=True; N16.Enabled:=False; end; procedure TForm1.N9Click(Sender: TObject); begin Shape1.Shape:=stCircle; N9.Checked:=True; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N10Click(Sender: TObject); begin Shape1.Shape:=stRectangle; N9.Checked:=False; N10.Checked:=True; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N12Click(Sender: TObject); begin Shape1.Shape:=stSquare; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=True; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N13Click(Sender: TObject); begin Shape1.Shape:=stRoundRect; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=True; N14.Checked:=False; end; procedure TForm1.N14Click(Sender: TObject); begin Shape1.Shape:=stRoundSquare; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=True; end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin Shape1.Top:=200 div 2 - ScrollBar1.Position div 2; Shape1.Height:=ScrollBar1.Position; end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin Shape1.Left:=200 div 2 - ScrollBar2.Position div 2; Shape1.Width:=ScrollBar2.Position; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin Case ComboBox1.ItemIndex of 0: Shape1.Brush.Color:=clRed; 1: Shape1.Brush.Color:=clBlue; 2: Shape1.Brush.Color:=clGreen; 3: Shape1.Brush.Color:=clYellow; 4: Shape1.Brush.Color:=clWhite; 5: If ColorDialog1.Execute then Shape1.Brush.Color:=ColorDialog1.Color; end; end; procedure TForm1.FormActivate(Sender: TObject); begin Shape1.Top:=200 div 2 - ScrollBar1.Position div 2; Shape1.Height:=ScrollBar1.Position; Shape1.Left:=200 div 2 - ScrollBar2.Position div 2; Shape1.Width:=ScrollBar2.Position; end;

Пример 2.

Создать программу, которая будет содержать компоненты меню TMainMenu, которые будут выбирать фигуру, ее цвет и выход из приложения.

Рекомендуемый вид формы приведен на рисунке.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.N15Click(Sender: TObject); begin If MessageDlg('Вы действительно хотите выйти?',mtConfirmation,[mbYes,mbNo],0)=mrYes then Close; end; procedure TForm1.N2Click(Sender: TObject); begin Form1.Color:=RGB(Random(255),Random(255),Random(255)); end; procedure TForm1.N3Click(Sender: TObject); begin If ColorDialog1.Execute then Form1.Color:=ColorDialog1.Color; end; procedure TForm1.N5Click(Sender: TObject); begin Shape1.Brush.Color:=ClRed; N5.Checked:=True; N6.Checked:=False; N7.Checked:=False; N16.Checked:=False; end; procedure TForm1.N6Click(Sender: TObject); begin Shape1.Brush.Color:=ClBlue; N6.Checked:=True; N5.Checked:=False; N7.Checked:=False; N16.Checked:=False; end; procedure TForm1.N7Click(Sender: TObject); begin Shape1.Brush.Color:=ClYellow; N5.Checked:=False; N6.Checked:=False; N7.Checked:=True; N16.Checked:=False; end; procedure TForm1.N11Click(Sender: TObject); begin Shape1.Shape:=stEllipse; N9.Checked:=False; N10.Checked:=False; N11.Checked:=True; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N16Click(Sender: TObject); begin Shape1.Brush.Color:=ClGreen; N5.Checked:=False; N6.Checked:=False; N7.Checked:=False; N16.Checked:=True; end; procedure TForm1.N9Click(Sender: TObject); begin Shape1.Shape:=stCircle; N9.Checked:=True; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N10Click(Sender: TObject); begin Shape1.Shape:=stRectangle; N9.Checked:=False; N10.Checked:=True; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N12Click(Sender: TObject); begin Shape1.Shape:=stSquare; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=True; N13.Checked:=False; N14.Checked:=False; end; procedure TForm1.N13Click(Sender: TObject); begin Shape1.Shape:=stRoundRect; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=True; N14.Checked:=False; end; procedure TForm1.N14Click(Sender: TObject); begin Shape1.Shape:=stRoundSquare; N9.Checked:=False; N10.Checked:=False; N11.Checked:=False; N12.Checked:=False; N13.Checked:=False; N14.Checked:=True; end;

II. Задания для самостоятельного выполнения.

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

Контрольные вопросы.

  1. Для чего предназначены функции MessageDlg и ColorDialog

  2. Охарактеризовать свойства и методы компонентов TShape и TMainMenu;

  3. Как изменять свойства компонентов TShape и TMainMenu во время выполнения программы? Привести примеры.

  4. Как задать горячие клавиши в TMainMenu?

  5. Как сделать так, чтобы был отмечен пункт меню?

  6. Для чего предназначены два компонента ScrollBar в программе?