Лабораторная работа №07 icon

Лабораторная работа №07



НазваниеЛабораторная работа №07
Дата конвертации30.06.2012
Размер58.79 Kb.
ТипЛабораторная работа
1. /OOP/Лабораторная работа ь00-Введение.doc
2. /OOP/Лабораторная работа ь01-Calc&Type.doc
3. /OOP/Лабораторная работа ь02-Drag&Except.doc
4. /OOP/Лабораторная работа ь03-Font&Phrase.doc
5. /OOP/Лабораторная работа ь04-Menu.doc
6. /OOP/Лабораторная работа ь05-Canvas.doc
7. /OOP/Лабораторная работа ь06-Animation.doc
8. /OOP/Лабораторная работа ь07-Hint&Format.doc
9. /OOP/Лабораторная работа ь08-Notepad&BMP.doc
10. /OOP/Лабораторная работа ь09-StringGrid.doc
11. /OOP/Лабораторная работа ь10-MediaPlayer.doc
12. /OOP/Лабораторная работа ь11-Shape.doc
13. /OOP/Лабораторная работа ь12-Events.doc
14. /OOP/Лабораторная работа ь13-Finally&Except.doc
15. /OOP/Лабораторная работа ь14-Animal.doc
16. /OOP/Лабораторная работа ь15-MyButton.doc
17. /OOP/Темы курсовых работ по курсу ООП.doc
Введение
Лабораторная работа №01
Лабораторная работа №02
Лабораторная работа №03
Лабораторная работа №04
Лабораторная работа №05
Лабораторная работа №06
Лабораторная работа №07
Лабораторная работа 08
Лабораторная работа №09
Лабораторная работа №10
Свойства в Delphi
Лабораторная работа №12 События в Delphi
Chapter 12
Лабораторная работа №14
Лабораторная работа №15
Кнопка (TButton)

Лабораторная работа № 07.

Инструментальная линейка и строка состояния


Во многих приложениях Windows имеются инструментальная линейка в верхней части окна и строка состояния в его нижней части.
Инструментальная линейка содержит обычно несколько маленьких кнопок, которые вы можете нажимать щелчком мыши, чтобы задавать команды или переключать опции вкл. и выкл. Иногда инструментальная линейка может содержать комбинированный список, строку редактирования или некоторые другие управляющие элементы.

Строка состояния обычно имеет одну или несколько областей с текстовым описанием текущего состояния программы. У вас может быть область для координат, для показа выбранного шрифта или отображения всплывающих подсказок о том, что делать дальше, сообщений об ошибках и т.д. Фактически приложение определяет, что должно войти в строку состояния.

Построение инструментальной линейки


Для создания инструментальной линейки или строки состояния в Delphi вы можете использовать компонент Panel, Добавив в него несколько кнопок или других панелей, или же можете использовать специальный компонент StatusBar.

Чтобы построить типичную инструментальную линейку, вам нужно поместить панель в верхней части формы и разместить в ней несколько компонентов SpeedButton (быстрая кнопка). Быстрые кнопки могут иметь заголовок и значок, хотя обычно они имет только графический элемент. Быстрые кнопки могут вести себя подобно командным кнопкам, чекбоксам или кнопкам опций (радиокнопкам) и иметь другие растровые изображения для различных ситуаций. Быстрые кнопки являются графическим элементом, они не имеют дескриптора окна (т.о. не использует ресурсы окон), не могут получать фокус, не участвуют в переборе клавишей Tab и быстрее создаются и закрашиваются.

Если вы просто выбираете компонент SpeedButton и помещаете его экземпляр в панель, то в результате получите графическую командную кнопку. Потом можно выбрать растровое изображение или ввести заголовок и записать код для события OnClick. Чтобы добавить группу быстрых кнопок, которые будут работать подобно радиокнопкам, поместите их в панель и присвойте их свойствам GroupIndex одинаковое значение. Все кнопки, имеющие одинаковое свойство GroupIndex, станут осуществлять взаимоисключающий выбор аналогично кнопкам опций. Одна из этих кнопок должна быть всегда выбранной, поэтому не забывайте присвоить свойству Down значение True для одной из них на этапе проектирования или как только программа начинает работать.

В качестве альтернативы у вас могут быть взаимоисключающие кнопки, которые все могут быть ненажатыми. Это означает, что вы можете щелкнуть на выбранной кнопке и отменить ее выбор. Вы можете выбрать этот режим, присвоив свойству AllowAllUp для всех кнопок группы значение True. Чтобы быстрая кнопка работала как чекбокс необходимо выполнить следующее. Чекбокс – это группа только с одним эелементом, в котором все кнопки могут быть невыбранными. На практике вы добиваетесь этого добавив новую быструю кнопку, присвоив ей конкретное значение для свойства GroupIndex (отличное от индексов других групп, и выбрав значение True для свойства AllowAllUp..

Задание № 1


Постройте инструментальную линейку, в которой будут располагаться следующие кнопки:

  1. командная, при нажатии которой будет издаваться звук;

  2. группа из трех кнопок, которые будут осуществлять выравнивание текста в компоненте Label по левому, правому краю и по центру и вести себя как кнопки опций;

  3. группа из трех кнопок, которые будут изменять стиль текста компонента Label (полужирный, курсив, подчеркнутый) и могут быть все ненажатыми – в этом случае текст нормальный (вы должны не просто выбрать стиль, когда нажата кнопка , но и отменить ее выбор, восстанавливая нормальный стиль, когда кнопка освобождена. В методах, отвечающих за событие щелчка этих кнопок, вы должны написать:


procedure TForm1. SpeedButton1Click (Sender: TObject);

begin

if SpeedButton1.Down then

Label1. Font. Style : = [ fsBold ]

else

Label1. Font. Style : = [ ]

end ;


  1. кнопка, которая будет изменять размер шрифта с 24 на 12 и вести себя как чекбокс, т.е. при нажатой кнопке размер шрифта 24, при отжатой – 12.

  2. Добавьте в форму меню, с помощью которого можно будет отключать и включать различные кнопки используя свойство Enabled , скрывать и показывать линейку с помощью свойства Visible панели.

Добавление всплывающих подсказок в инструментальную линейку


Всплывающая подсказка – текст, который кратко описывает быструю кнопку под курсором. Этот текст обычно выводится на экран в окне желтого цвета, после того как курсор мыши оставался неподвижным над кнопкой в течение некоторого времени. Для добавления всплывающих посказок в инструментальную линейку приложения просто устанавливают значение свойства ShowHints панели, которая используется как инструментальная линейка, равным True. Вы также можете изменить значение по умолчанию свойств HintColor и HintPause глобального объекта Application и, что необязательно, добавить непосредственно конкретный текст для всплывающей подсказки кнопок инструментальной линейки (свойство Hint). Текст подсказок можно изменять при изменении состояния кнопки написав некоторый код, использующий свойство Hint.

Комбинированный список в инструментальной линейке


Существует несколько распространенных приложений, которые используют комбинированные списки в инструментальных линейках для того, чтобы показывать списки стилей, шрифтов, размеров шрифта и т.д. Используем в следующем задании такой подход: создадим комбинированный список, чтобы позволить пользователю выбирать шрифт и окно редактирования с прокруткой компонент (SpinEdit) для установки размера шрифта, каждый с собственной меткой. Два новых компонента и их метки имеют соответствующее сообщение в свойстве Hint. Комбинированный список заполняется, когда начинает работать приложение, копируя названия текущих шрифтов из объекта Screen.


procedure TForm1. Form1Create (Sender : TObject) ;

var

I : Integer ;

begin

for I := 1 to Screen. Fonts. Count do

{скопируйте название шрифта в комбинированный список}

ComboBox1. Items. Add (Screen. Fonts. Strings [ I-1] ) ;

{выберите текущий шрифт}

ComboBox1. ItemIndex := ComboBox1. Items. IndexOf (Label1. Font. Name) ;

end ;


Когда выбирается новый элемент комбинированного списка – текст текущего элемента комбинированного списка копируется в название шрифта надписи.


procedure TForm1. ComboBox1Change (Sender : TObject) ;

begin

Label1. Font. Name := ComboBox1. Items [ComboBox1. ItemIndex] ;

end ;


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


procedure TForm1. SpinEdit1Change (Sender : TObject) ;

begin

if not (SpinEdit1. Text = ‘ ‘ ) then

Label1. Font. Size := SpinEdit1. Value ;

end ;

Задание № 2


  1. Из формы, созданной в предыдущем примере, удалить кнопку изменения размера шрифта

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

  3. Записать код для добавленных компонентов.

Построение строки состояния


Система Delphi Содержит специальный компонент StatusBar, основанный на специальном управляющем элементе системы Windows 95. Этот коипонент может быть использован почти как панель, когда значением его свойства SimplePanel является True. В этом случае вы можете использовать свойство SimpleText, чтобы вывести некоторый текст. Этот компонент позволяет вам определить несколько подпанелей с помощью редактора свойства Panels. Каждая подпанель имеет свои собственные графические атрибуты, настраиваемые с помощью редактора. Другой характеристикой компонента строки состояния является специальная область, которая добавляется в нижний правый угол линейки и полезна для изменения размера самой формы.

Строка состояния используется для многих целей. Наиболее часто ее используют для вывода

на экран информации об элементе меню, который в настоящее время выбран пользователем. При этом нужно сделать два шага. Сначала ввести строку как свойство Hint каждого элемента меню. Затем записать некоторый код для обработки события OnHint приложения. Вам нужно добавить вручную новый метод в форму и затем его присвоить свойству OnHint объекту Application при запуске :


procedure TForm1. Form1Create (Sender : TObject) ;

begin

Application. OnHint := ShowHint ;

end :


В интерфейсной части кода формы вы можете добавить следующее определение


procedure TForm1. ShowHint (Sender : TObject) ;


Эта процедура копирует текущее значение свойства Hint приложения, которое временно содержит копию всплывающей подсказки выбранного элемента, в строку состояния :


procedure TForm1. ShowHint (Sender : TObject) ;

begin

StatusBar1. Panels [0]. Text := Application. Hint ;

end;

Задание № 3


Сконструировать строку состояния, в которую вывести подсказки для всех команд всплывающего меню формы, построенной в предыдущих заданиях.

Задание № 4


Написать программу – простой текстовый редактор (используйте компонент TRichEdit). Редактор должен просматривать и сохранять текстовые файлы, а также:

- копировать, вырезать и вставлять фрагменты текста

- изменять формат выделенного текста (начертание, высота, выравнивание)

- должна присутствовать полоса прокрутки.



Похожие:

Лабораторная работа №07 iconЛабораторная работа: создание мини-презентации «Памятники Кремля»
Лабораторная работа проводится в компьютерном классе, с подключением к сети Internet
Лабораторная работа №07 iconДокументы
1. /Lab1/Лабораторная работа 1.doc
2. /Lab2/Лабораторная...

Лабораторная работа №07 iconИ я забуду Покажи мне и я запомню, Дай мне действовать самому и я научусь. Китайская мудрость Тема: Лабораторная работа
Тема: «Лабораторная работа «Измерение работы и мощности тока в электрической лампочке»
Лабораторная работа №07 iconДокументы
1. /Nash/lab1/Лабораторная работа ь1.doc
2. /Nash/lab10/Лабораторная...

Лабораторная работа №07 iconЛабораторная работа №2 «Система безопасности Windows xp»
Лабораторная работа №2 «Система безопасности Windows xp» Цель работы: Изучить систему безопасности Windows xp
Лабораторная работа №07 iconЛабораторная работа «Работа в Windows c помощью основного меню. Использование технологии ole»
Запишите размер папки, выраженный в Мб (мегабайтах) в текстовый редактор блокнот
Лабораторная работа №07 iconЛабораторная работа «Работа с текстовыми фрагментами без помощи мыши»
Скопируйте последнее слово получившегося текста и вставьте его в начало текста один раз
Лабораторная работа №07 iconДокументы
1. /Базовые задачи на обработку массива.doc
2. /ЗадачиНаЛиниВетвление.doc
Лабораторная работа №07 iconДокументы
1. /laba/Лабораторная работа ь1.doc
2. /laba/Лабораторная...

Лабораторная работа №07 iconДокументы
1. /механизация/~$б работа ь4.doc
2. /механизация/~$бораторная...

Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов