Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств icon

Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств




Скачати 94.33 Kb.
НазваЗанятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств
Дата конвертації01.11.2012
Розмір94.33 Kb.
ТипДокументи
джерело

Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств

В занятии дается понятие свойств в Delphi, дается подробное описание нескольких наиболее общих свойств, принадлежащих видимым объектам таких как Caption, Name, Left, Top, обсуждаются способы задания значений этих свойств. Слушатель знакомится с компонентом Image и его свойствами. Слушатель делает приложение Windows, в котором с помощью изменения значения свойств компонента Image изображение, размещаемое в нем, перемещается по форме, увеличивается и уменьшается.

  1. ^ Понятие свойства

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

В обыденной жизни вы можете спросить: “Какого цвета эта куртка?”. Соблюдая строгости Delphi, вам придется сформулировать свой вопрос так: “Каково значение свойства <цвет> у этой куртки?”. Ответ в обоих случаях одинаковый: белый. Размер - это еще одно типичное свойство куртки. Его ожидаемые значения или параметры (settings) могут быть таковы: 38, 40, 42 и т.д.

Каждый компонент в Delphi обладает свойствами, значения которых определяют поведение и внешний вид его в программе.

^ Свойства (properties) в Delphi - это количественно измеряемый атрибут объекта (в нашем случае компонента или формы).

Некоторые свойства ограничены определенными значениями. Например, у компонента, обладающего свойством Visible (“видимость”), лишь два значения: True (истина) - объект видим и False (ложь) - объект невидим. Другие свойства могут иметь практически неограниченный набор значений, например, Name - имя.

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

Значения свойств можно задавать на стадии проектирования в окне свойств инспектора объектов. Его (окно) можно активизировать по-разному: выбором из меню Wiev команды Object Inspector, клавишей F11.

Некоторые свойства имеют многие компоненты, другие свойства специфичны для одного элемента. Форма точно так же, как и компоненты, имеет свойства.

  1. ^ Описание нескольких наиболее общих свойств, принадлежащих видимым компонентам

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

Уже в первом же своем проекте вы встретились со свойством Caption нескольких компонентов. Вы присваивали этому свойству значения на стадии проектирования. Это свойство присуще всем видимым компонентам. Это текст, который размещается на поверхности элемента.

Еще одно свойство Name определяет имя, под которым компонент будет известен программе. Рекомендуется давать компонентам имена, несущие смысловую нагрузку. Кроме того, по принятому в современной практике программирования стилю имена должны содержать двухбуквенный префикс. Префикс свидетельствует о типе используемого компонента. У каждого компонента – свой префикс. У формы, например префикс – fm, у метки – lb, у командной кнопки - bt. Префикс обычно представлен в имени двумя строчными буквами, а смысловая часть имени начинается с заглавной буквы. Имя начинается с префикса, затем следует смысловая часть имени. Приведем несколько примеров имен компонент, которые соответствуют принятому стилю: fmMyForm, lbHello, btExit.

Все видимые компоненты в Delphi имеют свойства Left и Top. Их числовые значения определяют положение левого верхнего угла компонента в пикселах относительно того же угла контейнера. Пиксел – это минимальная по размеру точка экрана, светимостью которой может управлять программа. Под контейнером понимают компонент, предназначенный для размещения на нем других компонентов. Свойство Left задает расстояние левого верхнего угла компонента слева, Top – сверху. При буксировании компонента эти значения автоматически меняются. И наоборот, - изменение этих свойств в окне Инспектора Объектов приводят к соответствующему изменению положения и размеров компонента. При буксировке компонента по форме в Delphi 4 и 5 значения свойств Left и Top автоматически появляются в небольшом окне рядом с указателем мыши. Форма так же как многие другие компоненты имеет свойства Top и Left.

Кроме свойств Top и Left все видимые компоненты имеют свойства ^ Width и Height. Width – это ширина объекта, Height – высота объекта. Измеряются значения этих свойств тоже в пикселах. Форма, как и любой другой компонент, тоже имеет свойства Width и Height. Для формы свойства Top, Left, Width, Height измеряются в координатах экрана.

Поместите на пустую форму командную кнопку. Перемещайте ее, по форме, следите за значением свойств Left и Top в окне Инспектора объектов. И наоборот, меняя значения свойств Top и Left компонента в окне Инспектора объектов, следите за изменением положения компонента на форме. Аналогично проэкспериментируйте и со свойствами Height и Width.

  1. ^ Проект 2: перемещение рисунка по форме

Значения свойств можно задавать не только на этапе проектирования с помощью инспектора объектов, но и на этапе выполнения программы. С помощью проекта, который вы сделаете на этом занятии, пользователь, щелкая по командным кнопкам на форме, сможет перемещать рисунок, размещенный на форме, в углы и центр формы. При этом будут изменяться значения свойств Top и Left объекта, на котором размещен рисунок. Он сможет, щелкая по другим кнопкам, тоже размещенным на форме, увеличивать и уменьшать изображение рисунка, изменяя значения свойства Width и Height.

    1. ^ Описание свойств формы, которые мы задаем на стадии проектирования

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

На стадии проектирования зададим имя формы (свойство Name) значением fmMoveImg.

Свойство Caption – “Перемещение картинки”.

Свойства Height – 400, свойство Width – 400 пикселов.

Свойство Color (цвет формы) задайте значением, которое вам понравилось. Нам понравилось значение clSilver.

Свойство Position пусть имеет значение poScreenCenter. Тогда после запуска проекта на выполнение форма займет место в центре экрана. Свойство Position определяет положение окна формы в момент его появления на экране. Значение poScreenCenter определяет положение формы в центре экрана с размерами, как на этапе проектирования.

Свойство BorderStyle зададим значением bsNone. Это свойство определяет стиль рамки окна. Если значение равно bsNone, окно не имеет рамки и заголовка и не может перемещаться и изменять свои размеры.

    1. ^ Компонент Image и его свойства

Пришло время поместить на форму компонент, который будет содержать рисунок. Активизируйте страничку Additional в палитре компонентов и найдите пиктограмму элемента Image. Поместите элемент на форму.

Компонент Image служит для размещения на форме одного из трех поддерживаемых Delphi типов изображения: растровой картинки, пиктограммы или метафайла.

Главное свойство этого компонента – свойство Picture. Любой из трех типов изображения содержится именно в свойстве Picture.

Есть еще два важных и интересных свойства у этого компонента: AutoSize и Stretch.

Свойство AutoSize разрешает (значение True) или запрещает (значение False) изменять размеры компонента так, чтобы в них полностью загрузилось изображение.

Свойство Stretch разрешает (значение True) или запрещает (значение False) изменять размеры изображения так, чтобы оно полностью заполнило клиентстку облать компонента.

Назовем наш компонент (зададим значение свойства Name) imMyPicture. Свойство Stretch зададим значением True. Поместим элемент в центр формы и разместим на нем выбранную ранее картинку. Для этого воспользуемся свойством Picture. Зададим имя файла картинки значением свойства Picture. Файл с картинкой лучше поместить в ту же папку, в которой лежат файлы вашего второго проекта. Картинку можно нарисовать в графическом и редакторе или найти на каком-либо диске или в интернете. Мы для нашего проекта выбрали файл Pe04050_.wmf, находящийся в папке ClipArt Microsoft Ofice– изображение бабы Яги, летящей на метле. Щелкая по кнопкам, которые мы разместим позже на форме пользователь нашей программы сможет перемещать бабу Ягу в углы формы и в ее центр, увеличивать и уменьшать ее размеры. Вот как приблизительно будет выглядеть форма после описанных преобразований:




    1. ^ Размещение кнопок на форме и присвоение им необходимый значений свойств на стадии проектирования

Чтобы завершить создание визуальной среды нашего проекта, необходимо разместить на форме командные кнопки.

Сначала поместим кнопку, по щелчку по которой пользователь будет завершать проект. Назовем ее (свойство Name) btExit, свойство Caption зададим значением «Выход».

Кнопка, по щелчку по которой наша картинка будет перемещаться в левый верхний угол будем иметь значение свойства Name btLeftUp, свойство Caption – ВлевоВверх.

Зададим свойство Name кнопки, по щелчку по которой элемент imMyPicture будет перемещаться в правый нижний угол, значением btRightDown, Caption – значением ВправоВниз.

Разместим на форме кнопку, которая должна перемещать нашу картинку в правый верхний угол, и назовем ее RightUp, свойству Caption присвоим значение ВправоВниз.

Кнопка, которая должна перемещать элемент image в левый нижний угол, - btLeftDown, свойство Caption – ВлевоВниз.

Еще одна кнопка должна передвигать рисунок в центр формы. Пусть ее имя btCenter, значение свойства Caption – Центр.

Нам нужны еще две кнопки, по щелчку по которым наше изображение будет увеличиваться и уменьшаться. Первую кнопку назовем btPlus, свойство Caption зададим значением Увеличить. Вторую кнопку назовем btMinus, свойство Caption зададим значением Уменьшить.

После всех описанных преобразований форма должна выглядеть приблизительно следующим образом:




    1. ^ Составление кода для кнопок проекта

Составим код для кнопки btLeftUp. Щелчок пользователя по этой кнопке должен перемещать изображение в левый верхний угол формы. То есть значение свойства Left объекта imMyPicture должно стать равным 0, значение его свойства Top – тоже 0. Процедура, соответствующая щелчку левой кнопки мышки по этой кнопке будет такая:

procedure TfmMoveImg.btLeftUpClick(Sender: TObject);

begin

imMyPicture.Left :=0;

imMyPicture.Top :=0;

end;

В этой процедуре мы используем оператор присваивания. В левой части оператора указывается свойство Left компонента imMyPicture, а в правой части значение этого свойства – 0, которое мы хотим присвоить этому свойству. Связывает обе части символ “:=”, который читается как «присвоить значение». Символ “:=” всегда печатается слитно без разделяющих пробелов. Перед двоеточием и после знака равенства можно вставлять пробел.

Составим код для кнопки btRightDown. . Щелчок пользователя по этой кнопке должен перемещать изображение в левый верхний угол формы. Значение свойства Left объекта imMyPicture должно стать равным разности значений ширины формы и ширины объекта imMyPicture, чему будет соответствовать строка кода:

imMyPicture.Left :=fmMoveImg.Width – imMyPicture.Width;

Значение свойства Top объекта imMyPicture должно стать равным разности значений высоты формы и высоты объекта imMyPicture, чему будет соответствовать строка кода:

imMyPicture.Top :=fmMoveImg.Height – imMyPicture.Height;

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

procedure TfmMoveImg.btRightDownClick(Sender: TObject);

begin

imMyPicture.Left := fmMoveImg.Width -imMyPicture.Width;

imMyPicture.Top := fmMoveImg.Height -imMyPicture.Height;

end;

Самостоятельно составьте коды для кнопок btLeftDown и btRightUp, а также для кнопки btExit.

procedure TfmMoveImg.btRightUpClick(Sender: TObject);

begin

end;

procedure TfmMoveImg.btLeftDownClick(Sender: TObject);

begin

end;

procedure TfmMoveImg.btExitClick(Sender: TObject);

begin

end;

Составим процедуру для кнопки btCenter. По щелчку по этой кнопке пользователя наше изображение должно переместиться снова в центр формы. Очевидно, что значение свойства Left объекта imMyPicture должно стать равным половине разности значения ширины формы и ширины imMyPicture. Этому будет соответствовать строка кода:

imMyPicture.Left := fmMoveImg.Width - imMyPicture.Width div 2;

Аналогично значение свойства Top объекта imMyPicture должно стать равным половине разности значения высоты формы и высоты imMyPicture. Этому будет соответствовать строка кода

imMyPicture.Top := fmMoveImg.Height - imMyPicture.Height div 2;

div – оператор, осуществляющий целочисленное деление.

Вся процедура будет выглядеть следующим образом:

procedure TfmMoveImg.btCenterClick(Sender: TObject);

begin

imMyPicture.Left := (fmMoveImg.Width - imMyPicture.Width) div 2;

imMyPicture.top := (fmMoveImg.Height -imMyPicture.Height) div 2;

end;

Осталось составить коды для двух кнопок: btPlus и btMinus. Пусть один щелчок пользователя по кнопке btPlus увеличивает значение свойств Height и Width на 2 пиксела. Пользователь может после одного щелчка по этой кнопке сделать еще один. Так столько раз, сколько захочет. Код будет следующий:

procedure TfmMoveImg.btPlusClick(Sender: TObject);

begin

imMyPicture.Width := imMyPicture.Width + 2;

imMyPicture.Height := imMyPicture.Height + 2;

end;

Один щелчок по кнопке btMinus будет уменьшать значение свойств Height и Width на 2 пиксела. Пользователь может после одного щелчка по этой кнопке сделать еще один. Так столько раз, сколько захочет. Составьте код самостоятельно.

procedure TfmMoveImg.btMinusClick(Sender: TObject);

begin

end;

Итак, коды для всех командных кнопок составлены. Запустим проект на выполнение. Delphi запросит имя модуля проекта. Назовем его Second.pas, имя проекту дадим prMoveMyPic.dpr

  1. ^ Комментарии в Delphi

Отдельные участки или строки программ бывает необходимо снабдить комментариями.

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

В Object Pascal комментарием считается любая последовательность символов, заключенная в фигурные скобки. Кроме этого, комментарием в Object Pascal считается строка, заключенная в скобки (*…*) и символ //.

{Это комментарий}

(* И это комментарий *)

// Все символы до конца этой строки – комментарий

Снабдим комментариями, например, следующую процедуру:

procedure TfmMoveImg.btPlusClick(Sender: TObject);

begin

(* один щелчок по этой кнопке увеличит на 2 пиксела ширину и высоту рисунка *)

imMyPicture.Width := imMyPicture.Width + 2; //увеличиваем ширину

imMyPicture.Height := imMyPicture.Height + 2; //увеличиваем высоту

end;

Сделайте комментарии для всех процедур вашего второго проекта.

  1. Задания

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







Схожі:

Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 4 Объекты и классы в Delphi. Приложение, в котором форма перемещается по экрану компьютера
Классы и объекты в Delphi. Обсуждаются вопросы, связанные с объектом Application и Screen. Слушатель делает проект и приложение,...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 1 Первое знакомство с delphi, первое приложение в Delphi
При этом знакомится и работает с такими компонентами, как метка и командная кнопка, составляет процедуру обработки события OnClick...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЛекция Клиентские сценарии и приложения. Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер
Как правило, Веб-приложение приложение, в котором клиентом выступает браузер, а сервером веб-сервер
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 10 Работа с массивами в Delphi, использование компонентов ListBox и ComboBox при работе с массивами
Рными массивами. Кроме этого, рассматривается вопрос о доступе к объектам, объявленным в одном модуле из других модулей. Совместно...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 5 Знакомство с компонентами MediaPlayer и OpenDialog. Музыкальное оформление приложений, созданных в Delphi

Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconТренинг для детей Уже не в первый раз сотрудниками Благотворительного Фонда «Новая семья»
Фонда «Новая семья» проводятся профилактические, в игровой форме, информационные мероприятия с детьми улицы на базе областного приюта....
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 11 Анимация
Используя рассмотренный в предыдущих занятиях материал и поняв принципы анимации, рассмотренные в настоящем занятии, слушатель совместно...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconЗанятие 7 «Типы данных в Delphi, постоянные и переменные величины»
...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств iconНазвание магазина
Логотип вашего магазина. Удостоверьтесь, что изображение логотипа имеет необходимый размер, чтобы вписаться в ваш шаблон, поскольку...
Занятие 2 Понятиe свойств в Delphi. Приложение, в котором изображение перемещается по форме за счет изменения значений егосвойств icon1. основные концепции ооп (4 часа)
Объекты и классы. Отношения между классами и наследование свойств. Многообразие свойств и полиморфизм
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©on2.docdat.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи