Здавалка
Главная | Обратная связь

Создание главной формы



Главная форма создается по такому же принципу что и форма заставки. Свойства главной формы Form2:

Caption – Электронное пособие «Обзор социальных сетей» (заголовок главной формы)

Position – poScreenCenter (форма по центру экрана)

BorderIcons – [biSystemMenu, biMinimize] (стиль границ окна)

Далее размещается компонент Image1 для установки фона главной формы и задаются следующие свойства:

Align – alClient (изображение растягивается по форме)

Picture – вызывается редактор изображений Picture Editor далее Load.. и выбирается подготовленная картинка с расширением .wmf (фон.wmf).

Также на Form2 размещается компонент MainMenu закладки Standard для создания главного меню. Правой кнопкой мыши по компоненту и в контекстном меню выбирается Menu Designer.… Далее в появившемся окне необходимыми данными заполняется главное меню.

При нажатии на определенный пункт главного меню должна появляться соответствующая форма. Для этого аналогично созданию главной формы создаются формы: Form3 – форма «Лекции», Form5 – форма «Тест №1», Form7 – форма «Тест №2», AboutBox – форма «О программе».

На форму «Лекции» Form3 помещается 2 компонента Panel1 и Panel2 для того, чтобы в правой части окна выводилось дерево тем, а в левой части в соответствии с выбором темы лекция и компонент Splitter1 для отображения полосы прокрутки. Panel1 и Panel2 вручную задаются размеры по периметру окна. Далее на Panel1 размещается компонент TreeView1 закладки Win32, а на Panel2 компонент WebBrowser1 закладки Internet.

Свойство Align – alClient для TreeView1 и WebBrowser1.

Свойство Form3: Caption – Лекции (заголовок формы Form3)

Для создания дерева тем сначала создается текстовый файл с названием Меню.txt со следующим содержимым. С помощью отступов указывается подчиненность тем к разделам.

С помощью контекстного меню по TreeView1 – Items Editor…вызывается редактор дерева, далее кнопка Load и выбирается файл Меню.txt – OK, дерево сразу отобразится в левой части окна.

Чтобы при нажатии на определенную тему отображалась лекция, указываются следующие события Form3:

Событие Label2Click:

WebBrowser1.Navigate(extractfilepath(paramstr(0))+'lec1.htm'); // Подключение файла lec1.htm для отображения в правой части формы Form3

Событие TreeView1Click:

Index:=TreeView1.Selected.AbsoluteIndex;

if Index=0 then // Выбор раздела – темы и открытие в соответствии с темой лекции

WebBrowser1.Navigate(MyProgPath+'lec\Раздел2.htm');

if Index=1 then

WebBrowser1.Navigate(MyProgPath+'lec\Раздел3.htm');

if Index=2 then

WebBrowser1.Navigate(MyProgPath+'lec\lec1.htm');

if Index=3 then

WebBrowser1.Navigate(MyProgPath+'lec\Раздел4.htm');

if Index=4 then

WebBrowser1.Navigate(MyProgPath+'lec\lec2.htm');

……

Событие FormCreate:

MyProgPath:=ExtractFilePath(ParamStr(0));

TreeView1.LoadFromFile(MyProgPath+'lec\меню.txt'); // Подгрузка данных в TreeView1из Меню.txt

WebBrowser1.Navigate(MyProgPath+'lec\титул.htm');

Далее создается форма AboutBox «О программе», которая содержит информацию об авторе-разработчике электронного пособия.

Свойство AboutBox : Caption – О программе (заголовок формы).

На форме AboutBox размещаются Image1, три компонента Label и OKButton. В Label указывается информация о разработчике программы.

Свойства Label:

Transparent – True (заливка текста отсутствует)

WordWrap – True (текст можно переносить по словам)

Событие OKButtonClick:

Close; // Закрытие формы AboutBox при нажатии на кнопку ОК

После записываются события формы Form2 при нажатии на кнопки главного меню:

Событие N2Click (при нажатии на кнопку «Лекции»):

Form3.Show; // Вызов формы лекций Form3

Событие N7Click (при нажатии на кнопку «Выход»):

Form3.Close; // Закрытие главной формы

Событие N3Click (при нажатии на кнопку «О программе»):

Aboutbox.Show;

В Project добавляется строка:

Application.CreateForm (TForm2, Form2); // Создание Form2

Application.CreateForm (TForm3, Form3); // Создание Form3

Application.CreateForm (TAboutBox, AboutBox); // Создание AboutBox

Form5 и Form8 будут описаны в пункте 3.3.

Создание тестов

Для тестов создаются две формы: Form5 для теста №1 и Form8 для теста №2. На Form5 размещается компонент PageControl1 закладки Win32 необходимый для создания вкладок. Далее на PageControl1 устанавливается такое количество компонентов TabSheet, сколько вопросов в тесте, в данном случае вопросов в тесте №1 15, значит и TabSheet будет тоже 15(с TabSheet1 по TabSheet15). На каждом TabSheet располагаются Label, RadioGroup и RadioButton и Button (Далее). На последнем TabSheet располагается кнопка Button4 «Завершить тест» для завершения теста, после нажатия которой появляется окно Form6. На Form6 расположены Label для вывода оценки, кнопка Button «Начать заново» и компонент Image1.

Свойство Form5: Caption – Тест №1 (заголовок формы «Тест№1»)

Свойство Form6: Caption – Результаты (заголовок формы «Результаты»)

Width – 113

Top – 200

События кнопки «Далее» на всех TabSheet одинаковы, так, например для кнопки Button5:

PageControl1.SelectNextPage(true);

Для кнопки «Завершить» событие Button4Click:

n:=0;

if radiobutton2.Checked=true then n:=n+1; // Если правильный ответ, то добавляется единица

if radiobutton4.Checked=true then n:=n+1;

if radiobutton7.Checked=true then n:=n+1;

….

case n of

0..3: Form6.Label1.Caption:='Оценка 2'; // От 0 до 3-х правильных ответов оценка 2

4..7: Form6.Label1.Caption:='Оценка 3'; // От 4 до 7 правильных ответов оценка 3

8..11: Form6.Label1.Caption:='Оценка 4'; // От 8 до 11 правильных ответов оценка 4

12..15: Form6.Label1.Caption:='Оценка 5'; // От 12 до 15 правильных ответов оценка 5

end;Form6.show;

События формы Form2 при нажатии на кнопки главного меню:

Событие N4Click (при нажатии на кнопку «Тест №1»):

Form5.Show; // Открытие формы теста №1 Form5

В Project добавляется строка:

Application.CreateForm (TForm5, Form5); // Создание Form5

Application.CreateForm (TForm6, Form6); // Создание Form6

Аналогично создается второй тест, состоящий из Form8 – форма «Тест №2» и Form9 – форма «Результаты». Единственное отличие только в том, что в первом тесте был выбор одного ответа, здесь же присутствует множественный выбор ответов.

Для создания множественных ответов выбирается компонент CheckBox. В этом случае событие Button15Click кнопки «Завершить» будет выглядеть следующим образом:

m:=0;

if (checkbox1.Checked=true) and (checkbox2.Checked=true) and

(checkbox3.Checked=true) and (checkbox4.Checked=true)

and (checkbox5.Checked=false) then m:=m+1; // Если первый, второй, третий, четвертый правильные ответы, то добавляется единица

case m of

0..5: Form9.Label5.Caption:='Оценка 2';

6..7: Form9.Label5.Caption:='Оценка 3';

8..9: Form9.Label5.Caption:='Оценка 4';

10: Form9.Label5.Caption:='Оценка 5';

end;Form9.Show;

Событие N5Click (при нажатии на кнопку «Тест №2»):

Form8.Show; // Вызов формы теста №2 Form8

В Project добавляется строка:

Application.CreateForm (TForm8, Form8); // Создание Form8

Application.CreateForm (TForm9, Form9); // Создание Form9

 








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.