Урок 12 - Знакомство с компонентами (часть 3/12)

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

Items


Если сейчас скомпилировать программу, то по нажатию на ComboBox выпадет список с нашими функциями, но пока что они не работают. У компонента ComboBox есть свойство ItemIndex. Оно определяет выбранную строку. Нумерация строк начинается с нуля, то есть сложить - нулевая строка, вычесть - первая строка и т. д. Если в этом свойстве стоит значение -1, то значит ни одна строка не выбрана и в ComboBox записывается значение из свойства Text. Присвоим свойству ItemIndex значение 0. Кинем на форму компонент Button и в событии OnClick пишем:
If ComboBox1.ItemIndex = 0 then
Label1.Caption:='Результат = '+FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text)); //Складываем

If ComboBox1.ItemIndex = 1 then
Label1.Caption:='?Результат = '+FloatToStr(StrToFloat(Edit1.Text)-StrToFloat(Edit2.Text)); //Вычитаем

If ComboBox1.ItemIndex = 2 then
Label1.Caption:='?Результат = '+FloatToStr(StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text)); //Умножаем

If ComboBox1.ItemIndex = 3 then
Label1.Caption:='?Результат = '+FloatToStr(StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text)); //Делим
То есть сначала в условии проверяется какая строка в выпадающем списке выбрана, а потом в зависимости от этого мы либо складываем, либо вычитаем...

Наконец-то мы закончили разбирать основные компонента с вкладки Standard. Теперь мы можем перейти на вкладку Additional. Знакомиться с её компонентами в этом уроке мы будем на примере нашей второй формы.

Нажимаем на кнопку View Form, которая находится в главном окне Delphi.

View Form


Выбираем Form2 и кидаем на нее компонент Image с вкладки Additional. В этот компонент можно загружать изображения, тем самым создавать свои дизайны для программ. У Image есть свойство Picture, нажимая на него появляется менеджер загрузки изображения.

View Form


Нажимаем на кнопку Load... и загружаем любую картинку. Я загрузил картинку HANDSHAK.BMP, которая находится в папке C:\Program Files (x86)\Common Files\Borland Shared\Images\Splash\256Color. Эта папка есть у всех, у кого установлен Delphi. У компонента Image есть свойство AutoSize, если выставить его значение в True, то размеры компонента автоматически будут подгоняться под размеры картинки. Так же есть свойство Center, если его выставить в True, то картинка будет располагаться по центру компонента, не в зависимости от его размеров. У Image тоже есть события, они схожи с событиями кнопки.

Переходим к следующему компоненту с вкладки Additional, который называется BitBtn. Этот компонент похож на обычную кнопку, но он гораздо усовершенствование. В BitBtn можно загружать картинку, которая будет располагаться рядом с текстом. Нажмем на свойство Glyph и выберем любую картинку из папки C:\Program Files (x86)\Common Files\Borland Shared\Images\Buttons.

HELP.BMP


Как вы видите, картинка как бы двойная: в левой части картинка в цвете, а в правой нет. Если кнопка активна (свойство Enabled), то используется левая часть картинки, если не активна, то соответственно правая.

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

Ну вот и всё! Удачи!
Встретимся в следующем уроке!




Добавил(а): SyGaK Дата: 2012-10-21
Ааааааааааа. Скорее четвертую часть



Добавил(а): Admin Дата: 2012-10-21
Времени нет



Добавил(а): SyGaK Дата: 2012-11-14
Когда новый урок?



Добавил(а): Admin Дата: 2012-11-14
возможно в выходные



Добавил(а): delfiSkin Дата: 2013-05-20
Хотел загрузить свое фото, формат jpg но там был черный экран,с чем это связано:



Добавил(а): Ukrainian12 Дата: 2013-06-13
Картинка копируется в программу? Или для отображения нужно что-бы она всегда лежала по указанному пути?



Добавил(а): DOG13 Дата: 2013-09-21
Картинка остается на своем месте, программка просто тянется по пути и находит. Оптимальный вариант-копировать картинки, используюущиеся в проекте-в папку с самим проектом.



Добавил(а): SarnaiF Дата: 2015-09-09
Вау


  1. Sasha
    Sasha 2 years ago
    У вас отличные уроки которые здорово помогают мне разобраться в Delphi. Огромное спасибо)))
  2. Michael
    Michael 2 months ago
    Приветствую! Спасибо за отличные уроки!
Отменить.