Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Работа компонентов панелей Standard, Additional и Win32 (Delphi)




Создадим приложение в Delphi, в котором используются боль­шинст­во компонентов панелей Standard, Additional и Win32. Приложение будет состоять из трех форм. На каждой форме будут в основном размеще­ны компоненты одной из панелей.

 
 

Компоненты панели Standard разместим на форме Form1 (Caption=’Панель Standard’, Position=poScreenCenter) (рис.8.1.8.1).

Рис. 8.1.8.1. Вид формы с компонентами панели Standard

 

Разместим панель Panel1 (де­монстрация панели ком­понентов Standard) в верхней части формы. Разместим мет­ку Label1 (имя), поле Edit1 (Text=’’) и компоненты MainMenu1, PopupMenu1 (AutoPopup=True). Под по­лем Edit1 разместим многостроковое поле Memo1 (WordWrap=True, WantReturns=True) (п. 2.3.2.3). Щелкнем по кнопке с трое­точием свойства Lines и введем четыре пустые строки. Разместим компоненты RadioGroup1 (Цвета фона), Scrollbar1 (Min=0, Max=3, LargeChange=1, SmallChange=1), ComboBox1 (Text=’Текст Combo­Box’, введем наименования выбираемых цве­тов в значение свойства Items (рис.8.1.8.1)) и ListBox1 (введем три ст­ро­ки в значение свойства Items (рис.8.1.8.1)). Дважды щелкнем по компо­ненту RadioGroup1 и введем текст процедуры обработки события OnClick:

procedure TForm1.RadioGroup1Click(Sender: TObject); // выбор цвета

begin if RadioGroup1.ItemIndex=0 Then Form1.Color:=clSilver; // серый

if RadioGroup1.ItemIndex=1 Then Form1.Color:=clBlue; // голубой

if RadioGroup1.ItemIndex=2 Then Form1.Color:=clYellow; // желтый

if RadioGroup1.ItemIndex=3 Then Form1.Color:=clRed; // красный

end;

Cоставим процедуру обработки события OnChange изменения значения ком­понента ScrollBar1:

procedure TForm1.ScrollBar1Change(Sender:TObject); //изменение цвета begin RadioGroup1.ItemIndex:= ScrollBar1.Position; end;

Разместим компонент GroupBox1 (Caption=’Параметры’). На эту па­нель разместим RadioButton1 (Белый фон Memo), RadioButton2 (Голубой фон Memo), CheckBox1 (Курсив), Check­Box2 (Зеленый). Добавим кнопки: Button1 (Шрифт), Button2 (Старт), Button3 (Additional), Button4 (Выход) и соответсвующие процедуры:

procedure TForm1.Button1Click(Sender: TObject); // кнопка «Шрифт»

begin if CheckBox1.State=cbChecked then Form1.Font.Style:=[fsItalic]

else Form1.Font.Style:=[];

if CheckBox2.State=cbChecked then Form1.Font.Color:=clGreen // зеленый

else Form1.Font.Color:=clBlack; // черный цвет шрифта

end;

procedure TForm1.Button2Click(Sender: TObject); // кнопка «Старт»

begin Memo1.Clear; // очистить содержимое Memo1

Memo1.Lines.Add(Edit1.Text); // значение Edit1.Text добавляется в Memo1

Memo1.Lines.Add(ComboBox1.Text); // ComboBox1.Text добав. в Memo1

// Скопировать в Memo номер выбранного текста из окна ListBox

Memo1.Lines.Add('Строка ListBox #' + IntToStr(ListBox1.ItemIndex+1));

if RadioButton1.Checked then Memo1.Color:=clWhite; // белый цвет фона

if RadioButton2.Checked then Memo1.Color:=clAqua; // голубой цвет фона

end;

procedure TForm1.Button4Click(Sender: TObject); // кнопка «Выход»

begin Close; end;

Щелкнем дважды на компоненте MainMenu1 и введем тексты опции ме­ню: «Файл» (из строки «Выход»и для события OnClick выберем про­це­ду­ру But­ton4­Cli­ck), «Справка» из двух строк: «Справ­ка» и «О программе»).

Составим процедуры обработки пунктов меню «Справка»:

procedure TForm1.N4Click(Sender: TObject); // пункт «Справка»

begin ShowMessage('Демонстрация возможностей MainMenu'); end;

procedure TForm1.N6Click(Sender: TObject); // пункт «О программе»

begin ShowMessage(‘Демонстрация возможностей компонентов'); end;

Щелкнем дважды на компоненте PopupMenu1 и введем тексты опции меню «Шрифт», «Старт». Для свойства OnClick определим значения Button1Click, Button2Click соответственно (вызов этих процедур). Для формы Form1 установим свойство PopupMenu=PopupMenu1.

Теперь можно проверить работу программы на первой форме.

 
 

Компоненты панели Additional разместим на форме Form2 (Caption=’Панель Additional’, Position=poScreenCenter) (рис.8.1.8.2).

Рис. 8.1.8.2. Вид формы с компонентами панели Additional

 

Составим процедуру обработки кнопки «Additional» на первой форме:

procedure TForm1.Button3Click(Sender: TObject); // кнопка «Additional»

begin Form1.Hide; Form2.Show; end;// закрытие Form1 и вызов Form2

В правом нижнем углу разместим рамку Bevel1 для визуального вы­де­ления кнопок. Разместим кнопку Button1 (заполнить таблицу) и гра­фи­чес­кие кнопки: BitBtn1 (Caption=’Standard’, Kind=bkCustom, Glyph=’C:\ Bor­land Shared\Images\Buttons\arrow1l’), BitBtn2 (Caption=’Win32’, Kind= bk­Custom, Glyph=’C:\Borland Shared\Images\Buttons\arrow1r’), BitBtn3 (Cap­tion=’Выход’, Kind= bkClose).

Составим процедуры обработки нажатия кнопок

procedure TForm2.BitBtn1Click(Sender: TObject); // кнопка «Standard»

begin Form1.Show; Form2.Hide; end;

procedure TForm2.BitBtn3Click(Sender: TObject); // кнопка «Выход»

begin form2.Close; end;

Для корректной работы кнопки «Выход» составив процедуру:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin application.Terminate; end; // завершение работы приложения

Разместим компонент Panel1 и на нем разместим две быстрые кнопки SpeedButton1 (GroupIndex=1, NumGlyphs=4), SpeedButton2 (GroupIndex=1, NumGlyphs=2 Visible=False, Glyph=’D:\Borland Shared\ Images\Buttons\arrow1u’, Hint=’Быстрая кнопка с часиками’, ShowHint=True). Для кнопки SpeedButton1 можно на­ри­совать изображение высотой 16 и шириной 64 пикселей из четырех квад­ратных картинок размером 16 16 редактором изображений, который вызывается коман­дой Tools/Image Editor и сохранить изображение в фай­ле. Это имя нужно указать в свойстве Glyph этой кнопки. Мы восполь­зуем­ся готовым изо­бра­же­нием двух картинок из файла C:\Borland Shared\Images\ Buttons\ Clock’ и размножим это изображение для получения че­ты­рех кар­тинок и сох­раним под именем Clock в папке с данным приложе­ни­ем. Добавим на панель компонент Shape1 (Shape=stEllipse, Pen/Color=clGreen).

Справа от панели разместим компонент Image1 (Picture=’D:\Borland Shared\Images\Icons\technlgy).

Укажем процедуры обработки быстрых кнопок:

procedure TForm2.SpeedButton1Click(Sender: TObject); // SpeedButton1

begin If SpeedButton1.Down then begin Image1.Visible:=False;

Shape1.Brush.Color:=clRed; SpeedButton2.Visible:=True; end;

end;

procedure TForm2.SpeedButton2Click(Sender: TObject); // SpeedButton2

begin If SpeedButton2.Down then begin Image1.Visible:=True;

Shape1.Brush.Color:=clLime; end;

end;

Разместим компонент StaticText1 (Но­мер телефона) со свойством BorderStyle=sbsSingle, а под ним расположим компонент MaskEdit1 (Edit­Mask=Phone). Разместим компонент StringGrid1 (RowCount=3, ColCount=3, FixedCols=0, FixedRows=0).

Укажем процедуру обработки кнопки заполнения таблицы.

procedure TForm2.Button1Click(Sender: TObject); // заполнить таблицу

var x,y:Integer;

begin with StringGrid1 do For x:=0 to ColCount -1 do

For y:=0 to RowCount -1 do Cells[x,y]:=IntToStr(x)+','+IntToStr(y);

end;

Разместим панель с прокруткой ScrollBox1. На этой панели размес­тим кноп­ку BitBtn4 (Name=«Справка», Kind=bkHelp) и панель Panel2 (Па­нель в ScrollBox). Укажем процедуру обработки кнопки BitBtn4 (Справка):

procedure TForm2.BitBtn4Click(Sender: TObject); // кнопка «Справка»

begin ShowMessage('Проверка кнопки «Справка» в ScrollBox'); end;

Присоединим новый модуль Unit2 к первому модулю командой File/ User Unit. Теперь можно проверить работу программы и на второй форме.

Компоненты панели Win32 разместим на форме Form3 (Caption=’Панель Win32’, Position=poScreenCenter) (рис.8.1.8.3).

Составим процедуру обработки кнопки «Win32» на второй форме:

procedure TForm2.BitBtn2Click(Sender: TObject); // кнопка «Win32»

begin Form2.Hide; Form3.show; end;

 
 

Рис. 8.1.8.2. Вид формы с компонентами панели Win32

 

Разместим компоненты: Timer1 (Interval=1000), OpenDialog1, ProgressBar1 (Min=0, Max=1, Step=1), TrackBar1 (Min=0, Max=10, Tick­Marks=tmBottomRight, Frequency=1), TabControl1 (TabOrder=3, TabPosit­ion =tpTop, имена страниц задайте в строках свойства Tabs), Panel1 (разме­щает­ся на компоненте TabControl1 со свойствами: Caption=«Стр. 1», Alignment=taCenter), Panel2, Label1 (Просмотр дерева), Label2 (Выбор имени файла), Edit1, кнопки Button1 (...), Button2 (Standard), Button3 (Выход), TreeView1 (строки узлов дерева зададим редактором значения свойства Items). Составим соответствующие процедуры обработки событий.

procedure TForm3.TrackBar1Change(Sender:TObject); // измен. TrackBar1

begin ProgressBar1.Position:=TrackBar1.Position; end;

procedure TForm3.Timer1Timer(Sender: TObject); // таймер

begin Panel2.Caption:=TimeToStr(Time); { вывод текущего времени}end;

procedure TForm3.TabControl1Change(Sender:TObject);// изм. TabControl1

begin if TabControl1.TabIndex=0 then Panel1.Caption:='Стр.=1';

if TabControl1.TabIndex=1 then Panel1.Caption:='Стр.=2 ';

if TabControl1.TabIndex=2 then Panel1.Caption:='Стр.=3'; end;

procedure TForm3.Button1Click(Sender: TObject); // кнопка «...»

begin OpenDialog1.FileName:='*.*'; // вывод всех файлов

if OpenDialog1.Execute then Edit1.Text:=OpenDialog1.FileName {выбор}end;

procedure TForm3.Button2Click(Sender: TObject); // кнопка «Standard»

begin form2.show; end;

procedure TForm3.Button3Click(Sender: TObject); // кнопка «Выход»

begin form1.Close; end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin Application.Terminate; end; // корректное завершение работы

Присоединим новый модуль Unit3 к первому модулю командой File/ Use Unit. Теперь можно проверить работу программы на всех формах.

 

8.1.9. Игра «Поле чудес» (Delphi, C++ Builder)

В игре принимают участие три человека: двое игроков и ведущий (авторы программы: А. Влахнова и E. Петриченко).

Сначала игрок вращает барабан; после остановки барабана, если не вы­пал сектор Переход хода, в соот­ветству­ю­щее поле вводит букву и на­жи­мает кнопку Подтвердите (рис. 8.1.9.1). Если данной буквы в слове нет, ход передается другому игроку. Так продолжается до тех пор, пока один из игроков не решит назвать слово или пока не угадает его по буквам.

При нажатии на кнопку Назвать слово появляется поле ввода слова. После ввода слова надо подтвердить ввод.

В начале игры ведущий загадывает слово (рис. 8.1.9.2), пред­ва­ри­тель­­но введя па­роль (текущую дату) (рис. 8.1.9.3).

Рис. 8.1.9.1. Вид формы игры «Поле чудес»

       
   
 

Рис. 8.1.9.2. Форма «Загадать слово» Рис. 8.1.9.3. Форма «Пароль»

 


На форме Поле Чудес (Form1) разместим следующие компоненты: Label1 (caption=’’, AutoSize=false, WordWrap=true); Label2 (cap­tion=’Буква’, visible=false); Label3 (caption=’ ’); Label4 (caption=’Игрок1, Ваш ход’; visible=false); Label5 (caption=’Игрок1, Ваш выигрыш - ’; visi­ble=fal­se); Label6 (caption=’Игрок2, Ваш выигрыш - ’; visible=false); кноп­ки: Button1 (caption=’Выход’), Button2 (caption=’Подтвер­ди­те’, visi­ble=false), Button3 (caption=’Загадать’), Button4 (caption = ’ Назвать слово', visible=false), Button5 (caption=’Вращать барабан’, visible=false), Button6 (cap­tion =’ Подтвердите’, visible=false); поле Edit1 для ввода буквы (max­len­gh=1; visible=false); поле Edit2 для ввода слова (visible=false); Image1 (ст­рел­ка); 10 компонентов StaticText (visible=false), в которых будут появ­лять­ся угаданные буквы; Chart1 (на закладке Series1: Rotation=0; на закладке Legend: TextStyle=Plain; LegendStyle=SeriesValues; остальные па­ра­метры настройте по своему усмотрению).

На форме Пароль (Form2) разместим следующие компоненты: Label1 (caption=’Введите пароль’), Edit1 (PasswordChar=’*’), Button1 (cap­tion=’Подтвердите’).

На форме Загадать слово (Form3) разместим компоненты: Memo1 (Lines=’’), Edit1 (caption=’’), Button1 (caption=’Сохранить’), Label1 (cap­tion=’Вопрос’), Label2 (caption=‘Слово*’), Label3 (caption=’* не более 10 букв’).




Поделиться с друзьями:


Дата добавления: 2014-12-08; Просмотров: 1111; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.