Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 2
Всего онлайн: 2
Зарегистрировано юзеров: 6538
Комментариев на сайте: 647
Новый юзер: DianardinDral



Последние комментарии
c
Cmertb06 прокомментировал "Урок 1 - Инициализация OpenGL":
Возможно ли рисовать на экране? Например у Screen.Monitors[0] есть свойство Handle?
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
uses ...sevenzip, ... function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall; begin if total then Form1.sprgrsbr1.Max:= value else Form1.sprgrsbr1.Position:= value; Result:= S_OK; end; function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean; var i: Integer; ItP: string; items: array[1..11] of Cardinal; sprgrsbr1: TsProgressBar; begin Result:= False; Application.ProcessMessages; try with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(FileName); SetProgressCallback(sprgrsbr1, ProgressCallback); for i:= 1 to NumberOfItems - 1 do if not ItemIsFolder[i] then //ExtractItem(items[i], Steam, False); - как ей пользоваться в душе не понимаю... ExtractTo(DestDir); end; finally Result:= True; end; end;



Мы в соцсетях
c
Delphi
Урок 9 - События. Программное изменение свойств

  В этом уроке я расскажу, что такое событие, реакция на событие и мы научимся программно изменять свойство компонентов. Создаем новый проект, на форму кидаем компонент Button с закладки Standard. Все свойства, выделенного компонента находятся в Object Inspector на вкладке Events. Выделяем форму и переходим к списку ее событий.

Events


Список довольно большой и по этому мы рассмотрим самые важные события.

Событие OnClick. Вы уже знакомы с этим событием из прошлых уроков и знаете, что оно происходит тогда, когда мы нажимаем на ЛКМ один раз.

Далее событие OnCreate, оно возникает тогда, когда форма только начинает создаваться. Формы еще нет на экране, а событие уже произошло.

Событие OnDblClick, это событие похоже на OnClick, только нажать на ЛКМ нужно 2 раза (двойной клик).

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

Событие OnKeyUp, схоже с событием OnKeyDown, только в этом случае клавиша отпускается.

Событие OnMouseDown, оно происходит при нажатии на левую кнопку мыши, на правую и на колёсико.

Событие OnMouseUp тоже самое что и OnMouseDown, только в этом случае кнопка отпускается.

Следующие событие OnMouseMove, оно происходит тогда, когда мы двигаем мышку в зоне данного компонента. Давайте попробуем поработать с этим свойством. Для этого нам нужно добавить компонент Label с вкладки Standard на форму и изменить его свойство Caption на 0. Теперь выделяем компонент Button и находим там свойство OnMouseMove, щелкаем по нему 2 раза и Delphi создаст процедуру Button1MouseMove. В этой процедуре между ключевыми словами Begin и end пишем код:
label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1);
Объясняю что будет происходить. Когда мы водим мышкой по кнопке, выполняется событие OnMouseMove. В этом событии мы присваеваем свойству Caption у лейбла значение на единицу больше чем было. Первоначально у нас в лейбле стоит ноль, когда мы водим по кнопке, то прибавляется к нулю единица, потом дальше шевелим мышку и уже к единице прибавляется еще одна единица и так далее. Вы наверное заметили, что в коде присутствуют функции IntToStr и ей обратная StrToInt они нужны для того, что бы складывать значения в числовом формате.

Button1MouseMove


Если бы мы их не использовали и прибавляли бы единицу в строковом виде, то получилась бы длинная цепочка из единиц.

Идем далее и следующие свойство формы, которое мы рассмотрим называется OnResize оно возникает при изменении размера формы. Кликаем по этому событию и заполняем процедуру всё тем же кодом.
label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1);
Теперь компилируем программу и наводим мышь на уголок формы. Теперь изменяем размер и видим, что событие происходит и выполняется код, который мы там написали.

С рассмотрением основных событий мы закончили, теперь давайте научимся изменять свойства компонентов программно. В событии кнопки OnClick пишем код:
form1.caption:='Programm';
Этот код изменит заголовок формы после нажатия на кнопку. Как вы видите, сначала пишется имя компонента (в данном случае форма), далее через точку его свойство и через оператор присваивания пишется сам заголовок в кавычках, так как свойство Caption имеет строковый тип.

Далее давайте программно изменим ширину формы, кликом по кнопке.
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.width:=500;
end;
Я думаю вы поняли, как программно изменять свойства компонентов. Экспериментируйте и всё получится :)

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


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 1 Августа 2012
Просмотров:

Урок 8 - Форма и её свойства Урок 10 - Знакомство с компонентами (часть 1/5)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил: Programer [Новичок] Дата: 2012-08-07
А как сделать так что бы при нажатие кнопки Enter кнопка Button1 реагировала на данную команду?




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2012-08-08
Я расскажу об этом в следующих уроках.




аватар Добавил: Programer [Новичок] Дата: 2012-08-10
OK




аватар Добавил(а): delfiSkin [Новичок] Дата: 2013-05-19
Идем далее и следующие свойство формы, которое мы рассмотрим называется OnResize оно возникает при изменении размера формы. Кликаем по этому событию и заполняем процедуру всё тем же кодом. 1 label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1); Теперь компилируем программу --------------------------------------------- при выполнении закрывается обжест испектор и ошибка вылетает странная..(не в программе) а вообще