Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 48
Текст из файла (страница 48)
Increment: =UpDown3 . Position;Label3.Caption:='Свойство Increment = '+IntToStr(UpDown3.Position);end;// Нажатие на компонент UpDown2.procedure TForrcl.UpDown2Click(Sender: TObject; Button: TUDBtnType);beginMemol.Width:=UpDown2.Position;Label4.Caption:='Memol.Width = '+IntToStr(UpDown2.Position);end;// Нажатие на компонент UpDownl.procedure TForml.UpDownlClick(Sender: TObject; Button: TUDBtnType);beginMemol.Height:=UpDownl.Position;Label5.Caption:='Memol.Height = '+IntToStr(UpDownl.Position);end;Компонент TStatusBar// Сброс/установка свойства Wrap для UpDownl и UpDown2.procedure TForml.CheckBoxlClick(Sender: TObject);beginUpDownl.Wrap:=CheckBoxl.Checked;,UpDown2.Wrap:=CheckBoxl.Checked;.
.end;Компонент TStatusBarКомпонент T S t a t u s B a r представляет собой область (панель) для выводаслужебной информации. Обычно такая панель располагается в нижней частипрограммы и может разбиваться на несколько частей. Данный компонентможно найти на вкладке Win32 окна Tool Palette.Свойства компонента TStatusBar приведены в табл. 7.18.Таблица 7 . 1 8 т Основные свойства компонента T S t a t u s B a rСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамPanelsКоллекция панелей - объектов типа StatusBarPanelAlignСвойство, определяющее местоположение панели.
Панель может располагаться внизуOKHa(alBottom), вверху окна (alTop), быть прижатой к левому ( a l L e f t ) или правому( a l R i g h t ) краю, заполнять все пространство окна ( a l c i i e n t ) или же размещатьсяпо желанию программиста в любом месте окна (alNone). По умолчанию панель всегдаприжата к нижней части окна (alBottom)SizeGripПризнак необходимости отображать кнопки изменения размера панели (тринаклонные черты) в правом нижнем углу панелиSimplePanelСвойство определяет режим, в котором отображается компонент.
Если свойствоустановлено в True, то отображается «простая» панель с текстом, указаннымв свойстве SimpleText. Если свойство установлено в False, то отображаетсяколлекция панелей (объекты типа S t a t u s B a r P a n e l , определенные в свойстве Panels)SimpleTextТекст, который отображается в панели, если она не разделена на области (объектытипа StatusBarPanel)BorderWidthFontТолщина обрамления (границы) панели. Свойство указывается в пикселяхШрифт, которым выводится текстовая информация панелей (в любом режимеотображения)Для того чтобы разделить панель на несколько составных частей, необходимо встроке свойства Panels (Панели) нажать кнопку с тремя точками и в появившемсяокне Editing StatusBarl.Panel щелкнуть на кнопке Add столько раз, сколько панелей планируется использовать (рис. 7.12). В этом же окне можно выполнить настройку каждой из панелей. Свойства выбранной (редактируемой в данныймомент) панели отображены в правой часги окна Editing StatusBarl.Panel.ГЛАВА 7 • Основные компоненты при программировании для Win3 2QLayout|width||50SjLocaleBIOiMi ode IbAeftTofUght!ParentBIDIMode|TrueBiocalizable|Bi01ModebdLeftToPjghtIparentBCiMode True»|Text(WidthВ Miscellaneous;StytepsTextE) Visual[AlignmentjtaLefUustifyI BevelIpbLoweredI Width|50DlditingStatusBaM Panelsо о1 - TStacusPanelРис.
7.12 т Использование окна Editing StatusBar 1 .PanelОсновные свойства панелей объекта T S t a t u s B a r P a n e l приведены в табл. 7.19.Таблица 7.19 т Основные свойства панелей объекта TStatusBarPanelСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамTextТекст, отображаемый в панелиwidthМаксимальная ширина панели. Свойство указывается в пикселяхAlignmentСвойство, задающее выравнивание текста в панели.
Может принимать значениеBevel(по центру)Стиль обрамления панели. Панель может быть «утоплена» (pbLowered), не иметь стиля(pbNone) или быть выпуклой (pbRaised)taLeft Justify (по левому краю), taRightJustify (по правому краю) или taCenterСледующая программа, окно которой приведено на рис. 7.13, демонстрируетвариант применения этого компонента.Текст программы (основных процедур) приведен ниже в листинге 7.8.Листинг 7.8 т Использование компонента TStatusBar (основные процедуры)/ / Процедура обработки события OnTimer.// Событие возникает через каждые 100 мс.procedure TForml.TimerITimer(Sender: TObject);begin// Обновляем содержимое панелей.II Вывод даты.II Вывод времени.Компонент TTimer• Для получения значения текущих даты и времени; используются стандартные функции Date и Time• соответственно,_ж_,;Текущая дета:ШТекущее время:Рис. 7.13 т Форма окна программы, поясняющей вариантиспользования компонента T S t a t u s B a rStatusBarl.Panels[0].Text:='Текущая дата: '+DateToStr(Date);• StatusBarl.Panels[1].Text:='Текущее время: '+TimeToStr (Time) ;end ;// Запуск таймера.'procedure TForml.FormCreate(Sender: TObject);beginTimerl.Enabled:=True;end;Компонент TTimerКомпонент TTimer представляет собой компонент, генерирующий последовательность событий OnTimer.
Данный компонент невидим во время выполнения программы, то есть является невизуальным. Свойства компонента TTime r приведены в табл. 7.20.Таблица 7.20 т Основные свойства компонента TTimerСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и его свойствамEnabledСвойство, определяющее, включен таймер или нетIntervalСвойство, определяющее промежуток времени, через который происходит генерациясобытия T i c k .
Задается в миллисекундахСледующая программа (рис. 7.14), которая является простейшим секундомером, поясняет использование компонента TTimer.Сначала свойство Enabled компонента TTimer установлено в False, поэтомутаймер не генерирует никаких сообщений. Процедура обработки события Clickна кнопке But t o n l присваивает свойству Enabl ed значение True, тем самым запуская таймер. Процедура обработки события Tick отсчитывает интервалы с моментанажатия на кнопку Пуск. Нажатие на кнопку Стоп останавливает секундомер -ГЛАВА 7 Т Основные компоненты при программировании для Win32DСекундомер (Win37)М::••' i memento L J u V i i0: 0 0ЗапускСброс;;;; ;Рис. 7.14 т Форма программы и использованием компонента TTimerопять же изменением свойства Enabled таймера Timerl.
Текст программы приведен в листинге 7.9.Листинг 7.9 т Текст программы, поясняющей использование компонента TTtimerunitUnitl;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics,Controls, Forms, Dialogs, StdCtrls, ExtCtrls;typeTForml = class(TForm)Panell: TPanel;Buttonl: TButton,Button2: TButton;Timerl: TTimer;procedure Button2Click(Sender: TObject);procedure TimerlTimer(Sender: TObject);procedure ButtonlClick(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForml: TForml;min,sec:integer; // Минуты/секунды.implementation{$R *.dfm}// Процедура обработки события Click для левой кнопки ('Запуск/11 Стоп').Компонент TTimerprocedure TForml.ButtonlClick(Sender: TObject);beginif Timerl.Enabledthen// Если секундомер работает,beginTimerl.Enabled:=False;// то останавливаем таймер.Buttonl.Caption:='Пуск'; // Меняем название кнопкиII со 'Стоп1 на 'Пуск'.Button2.Enabled:=True;// Кнопка 'Сброс' теперьII доступна.endelse// Если секундомер не работает,beginTimerl.Enabled:=True;// то запускаем таймер.Buttonl.Caption:='Стоп'; // Меняем название кнопкиII с 'Пуск' на 'Стоп'.Button2.Enabled:=False;// Кнопка 'Сброс' теперьII недоступна.end;end ;// Процедура обработки события таймера.procedure TForml.TimerlTimer(Sender: TObject);var str:string;'beginif sec = 59 then// Если количество секунд равно 59,begin// то увеличиваем минуты на 1,inc(min);// а секунды обнуляем.sec := 0;endII В противном случае простоelse// наращиваем секунды.inc(sec);// Формируем строку в формате m:ss.str := str + IntToStr(sec);if Length(str) = 1 then str := '0' + str;// Создаем эффект 'мигания' двоеточияII (отображаем двоеточие только на четных секундах).if sec mod 2 = 0then str := ':' + strelse str := ' ' + str;str := IntToStr(min) + str;Panell.Caption := str;end;// Процедура обработки события Click для правой кнопки ('Сброс')ГЛАВА 7 V Основные компоненты при программировании для Win32procedure TForrnl.Button2Click(Sender: TObject);beginsec : = 0;min := 0;Panell.Caption := '0:00';end;end.Компонент TToolBarЭтот компонент представляет собой панель инструментов, на которой можноразмещать командные кнопки.
Свойства компонента TToolBar приведены втабл. 7.21.Таблица 7.21 т Основные свойства компонента TToolBarСвойствоКомментарийNameИмя компонента, используемое в программе для доступа к компоненту и егосвойствамColorЦвет поля компонентаTransparentПрозрачность компонента. Если свойство равно True, то панель прозрачна,иначе - нетVisibleAlignFontСвойство, позволяющее отображать ( v i s i b l e = T r u e ) и скрывать ( v i s i b l e = F a l s e )панельОпределяет границу формы, к которой «прикреплена» панель инструментов.