Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Многостраничные элементы




Вопросы и упражнения.

1. Напишите редактор с использованием компонента Richedit c возможностью вставки символов с меню и 3 панелями инструментов. Количество видимых панелей настраивается через пункт меню “Настройки”, а для установки цвета шрифтов используется элемент ColorGrid.

2. Создайте cобственную цветовую таблицу с 50 разными цветами.

3. Создайте мультфильм, показывающий фрагмент события из жизни (встреча с другом, листопад, ручей, весна и т.д.). Для создания кадров используйте любой графический редактор (количество кадров не менее 20).

4. Изучите свойства компонента Shape и ответьте на вопрос: Как устанавливаются цвет линии, кисти, узор заливки через инспектор объектов и динамически (в программе)?

5. Cоздайте две коллекции рисунков для кнопок с использованием компонента Imagelist и сохраните в файлах tlb1.bmp, tlb2.bmp.

6. Cоздайте геометрическую модель атома водорода, кислорода.

7. Создайте модель игры “шашки”.

 

B Delphi в закладках Win32 и Win31 приведены многостраничные элементы с закладками и элементы c заголовками закладок(Tabs) (см. рис.67).

Эти компоненты из закладки Win32. В Win31 имеются следующие многостраничные компоненты (см. рис.68).

Рис.67. Рис.68.

Многостраничные элементы Вам также знакомы из приложений Windows. Они имеют очень важное значение для создания собственных программ.

Рассмотрим основные свойства этих компонентов Delphi.

Компонент Tabset. Этот элемент напоминает закладки электронной таблицы. Выровним этот элемент по нижнему краю формы и добавим метки документ 1,…, документ 6. Это достигается через свойство Tstrings компонента Tabset (см. рис.69).

Рис.69.

Теперь приведем пример загрузки различных текстов в компонент Memo по щелку по меткам компонента Tabset. Для простоты тексты вводятся динамически. Установим на форме компонент Memo1 (см. рис.70).

Рис.70.

Приведем код модуля.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Tabs, StdCtrls;

type

TForm1 = class(TForm)

TabSet1: TTabSet;

Memo1: TMemo;

procedure TabSet1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{Private declarations }

public

{Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.TabSet1Click(Sender: TObject);

begin

Form1.Memo1.Clear;

case tabset1.tabindex of

0:begin

Form1.Memo1.Lines.Add('Загрузка первого документа.');

Form1.Memo1.Lines.Add('Измените код таким образом, чтобы ');

Form1.Memo1.Lines.Add('можно было загрузить текста из файла.');

end;

1:Form1.Memo1.Lines.Add('Загрузка второго документа.');

2:Form1.Memo1.Lines.Add('Загрузка третьего документа.');

3:Form1.Memo1.Lines.Add('Загрузка четвертого документа.');

4:Form1.Memo1.Lines.Add('Загрузка пятого документа.');

5:Form1.Memo1.Lines.Add('Загрузка шестого документа.');

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Form1.Memo1.Clear;

tabset1.tabindex:=0;

Form1.Memo1.Lines.Add('Загрузка первого документа');

Form1.Memo1.Lines.Add('Измените код таким образом, чтобы ');

Form1.Memo1.Lines.Add('можно было загрузить текст из файла.');

end;

end.

В результате выполнения программы мы получим разные тексты. Приведем 2 кадра выполнения программы (см. рис.71, рис.72).

Рис.71. Рис.72.

Компоненты TabbedNoteBook и NoteBook - это многостраничные элементы закладки Win31. Первый отличается от второго наличием закладок (меток) страниц.

Приведем свойства работы со страницами.

Таблица 2.20.

Свойства Назначение Свойства Назначение
ActivePage Устанавливает активную страницу Pages Определяет страницы и их метки(названия)
PageIndex Индекс активной страницы

 

На каждую из определенных страниц можно установить кнопки, рисунки т.е. любой компонент Delphi. Пролистывая страницы, мы получаем доступ к объектам активной страницы.

Для выбора страницы на этапе проектирования нужно пользоваться контекстным меню.

Рис.73.

Пример. Установим на форме компонент TabbedNoteBook1 и определим страницы: “Рисунки”, “Тексты”, “Советы”.

Установим на странице “Рисунки” рисунки из файлов (см. рис.74).

Рис.74. Рис.75.

Аналогично, на странице “Тексты” в Memo элементах наберем различные тексты (см. рис.75).

A на третьей странице “Советы” установим компонент PageControl1 из закладки “Win32” с двумя страницами. На одной из станиц компонента PageControl1 установим командную кнопку для добавления новой страницы компонента TabbedNoteBook1. Для добавления новой страницы используют свойство AddPage (см. рис.76).

В результате запуска программы мы имеем следующую новую страницу (см. рис.77).

Рис.76. Рис.77.

Каждый щелчок по кнопке добавить новую страницу.

Приведем код модуля.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, Tabnotbk;

type

TForm1 = class(TForm)

TabbedNotebook1: TTabbedNotebook;

Image1: TImage; Image2: TImage;

Image3: TImage; Image4: TImage;

Image5: TImage; Memo1: TMemo;

Memo2: TMemo; PageControl1: TPageControl;

TabSheet1: TTabSheet; TabSheet2: TTabSheet;

Label1: TLabel;

Label2: TLabel;

Button1: TButton;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

TabbedNoteBook1.Pages.Add('Новая страница');

TabbedNoteBook1.ActivePage:='Советы';

end;

end.




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


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


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



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




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