Создание главной формы
Главная форма создается по такому же принципу что и форма заставки. Свойства главной формы 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 Все права принадлежат авторам размещенных материалов.
|