Отправляет email-рассылки с помощью сервиса Sendsay

Delphi. Уроки

  Все выпуски  

Уроки программирования по Delphi.


Служба Рассылок Subscribe.Ru

Delphi. Библиотека VCL. Уроки по программированию с сайта http://alexeev.nm.ru

Рассылка №3

Delphi. VCL. Урок 4. Кнопки.
Delphi. VCL. Урок 5. Класс TEdit.

Полные версии уроков (с картинками) можно найти по адресам
Урок 4. Кнопки.
Урок 5. Класс TEdit.

Изучаем Delphi. Библиотека VCL. Урок 4. Кнопки

В Delphi используется несколько видов разных кнопок. На этом уроке мы рассмотрим два из них - а именно классы TButton и TBitBtn

Класс TButton представляет из себя обыкновенную кнопку. Для размещения этого компонента на форме щелкните на соответствующей иконке на вкладке Standard на Палитре компонентов. На нашей форме появится кнопка с именем Button1. Давайте посмотрим на ее свойства и события.

Ну естественно, что основное событие для кнопки - это OnClick. Оно возникает, когда мы на кнопке щелкаем мышкой. Кроме того, оно возникает, когда кнопка находится в фокусе (в этом случае на кнопке будет пунктирный прямоугольник) и вы нажимаете на пробел. Еще один способ вызвать это событие - это нажать комбинацию клавиш Alt + подчеркнутий в заголовке кнопки символ. И, наконец, событие может быть вызвано путем нажатия клавиш Enter или Escape. Вот все это мы сечас и посмотрим в действии. Для перехода в окно кода сделайте двойной щелчок на нашей кнопке на форме. Delphi создаст заготовку для события OnClick:

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

Давайте сюда что-нибудь впишем. Например программно изменим надпись на кнопке:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption:='&start';
end;

Обратите внимание на знак амперсанда (&) перед буквой s в слове start. При запуске программы следующая за ним буква будет подчеркнута, и тем самым нажатие комбинации клавиш Alt+s будет эквивалентно щелчку на кнопке мышкой.

Вообще-то у кнопки, как и у любого компонента, событий много. OnClick - это только один из них (это событие по умолчанию, поэтому при двойном щелчке именно для него и появляется заготовка кода). Для просмотра всех событий (в том числе и OnClick) шелкните на вкладке Evants Инспектора объектов.

Если теперь сделать двойной щелчок на любом из событий в Инспекторе объектов, то для него появится заготовка кода.

У кнопки есть также свойство cancel булевского типа. По умолчанию оно равно false, и если вы его установите в true, то нажатие на клавишу cancel на клавиатуре будет эквивалентно щелчку на этой кнопке.

Есть и второй вид кнопки (класс TBitBtn). Иконка для ее располагается на вкладке Additional Палитры компонентов.

Расположите ее на форме. Большинство методов, свойств и событий у кнопки типа TBitBtn совпадает с обычной кнопкой TButton, так что сейчас мы поговорим об отличиях. Прежде всего, на кнопке типа TBitBtn может находится изображение. Оно задается свойством Glyph. Если вы в Инспекторе объектов нажмете на многоточие в строке с этим свойством, то появится окно Picture Editor, в которое вы можете загрузить изображение в формате *.bmp (воспользовавшись кнопкой Load). После этого на вашей кнопке появится изображение.

Размер изображения должен быть 16 на 16 пикселов. Кстати, изображений в файле *.bmp может быть и несколько. Скажем, если вы сделаете два изображения (в этом случае размер сдвоенной картинки будет 32 на 16 пикселов), то второе из них (правое) будет использоваться, когда кнопка будет недоступка (т. е. ее свойство enabled будет равно false).

Еще одно важное свойство кнопки BitBtn - это свойство Kind. Оно позволяет задавать разные предопределенные изображения для нашей кнопки. Если вы его не меняли, то оно равно bkCustom (Пользовательское). Еще возможные значения - это bkOK, bkYes и другие стандартные значения. В этих случаях на копке будет соответствующее изображение.

Свойство Caption при этом сгенерируется автоматически, но при желании его можно изменить.

Наверх

Изучаем Delphi. Библиотека VCL. Урок 5. Класс TEdit

Класс TEdit представляет из себя обычное поле для ввода текста. Соответствующий компонент расположен на вкладке Standard Палитры компонентов.

Для изучения свойств Edit'а расположите его на форме. Самое важное свойство для этого компонента - это свойсто Text. Разумеется в нем хранится текст, введенный в наш Edit. Обратите внимание, что текст хранится именно как текст, и, если пользователь, скажем, введет в edit число 23, то оно будет хранится как строка "23", а не как число 23. Поэтому в такой строке содержится ошибка:

  ...
  if Edit1.Text>0 then ShowMessage('Число положительное');
  ...

Для превращения строки в целое число надо использовать функцию StrToInt:

  ...
  if StrToInt(Edit1.Text)>0 then ShowMessage('Число положительное');
  ...

Аналогично для записи числа в Edit надо использовать конструкцию вида

  Edit1.Text:=IntToStr(22);

Из этой же серии относится и функции StrToFloat и FloatToStr.

Рассмотрим еще несколько свойств.

Свойство MaxLenght определяет максимальную длину вводимого текста. Если оно равно нулю (это значение по умолчанию), то длина текста не ограничена.

Из полезных свойств отметим также AutoSelect логического типа. Если оно установлено в true (а по умолчанию так оно и есть), то при получении фокуса нашим edit'ом весь текст в нем выделяется. Это может оказаться полезным, если пользователь скорей всего полностью заменит этот текст.

Из свойств отметим еще свойство PasswordChar. Оно понадобится при использовании нашего edit'а в качестве поля для ввода пароля. Это свойство позволяет задать символ для визуальной замены вводимых пользователем символов. Обычно в этом случае используется звездочка.

Из событий для этого компонента чаще всего используется событие OnChange, OnKeyDown, OnKeyPress и OnKeyUp. Первое из них возникает, естественно, при изменении текста в нашем edit'е, последующие три - при нажатии и отпускании клавиши. Вот как, например, можно использовать событие OnKeyPress для ограничения ввода только цифрами:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9']) then Key:=#0
end;

Edit понимает такие стандартные для Windows комбинации клавиш как Ctrl+C (для копирования текста в буфер), Ctrl+X (для вырезания текста), Ctrl+V (для вставки текста), Ctrl+Z (для отмены последнего действия).

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт alexeev.nm.ru, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное