Размещение и настройка компонентов на форме 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Размещение и настройка компонентов на форме



Для каждого компонента интерфейса приложения выполняются опе­ра­ции выбора нужного компонента из палитры компонентов (щелчок мыш­ки по кнопке с изображением нужного компонента) и размещения выб­ранного компонента на форме (перемещение по диагонали пря­моуголь­ни­ка, нужного размера и на требуемом месте формы, указателя мыши при на­жатой левой клавише мышки) и изменения его свойств через окно Инс­пек­тора объектов (п. 2.1.1).

Если нужно разместить несколько одинаковых компонентов, то при первом выборе с нажатой клавишей Shift компонент будет закреплен и не нужно повторно выбирать этот компонент перед размещением его на фор­ме. Для отмены закрепления выберите другой компонент или щелкни­те на первой кнопке со стрелкой в палитре компонентов.

Щелчок по компоненту выделяет его. Для выделения группы объектов нужно дополнительно нажать клавишу Shift или обвести мыш­кой эти компоненты прямоугольником.

После размещения компонента мышкой можно изменить его разме­ры и местоположение.

После размещения компонента в файл модуля формы добавляется строка: <название компонента (свойство Name)>:<тип компонента>, а в файл описания компонента добавятся строки с его свойствами.

Пример при размещении кнопки (Button) под именем Button1:

Button1:TButton //описание объекта типа TButton в модуле формы

На странице Preferenses (предпочтения) окна Environment Options, вызываемого командой Tools/Environment Options, имеются поля: Grid (флаг выравнивания компонента по узлам сетки), Display grid (вывод сетки на форме), Grid size X, Grid size Y (размеры шага сетки по горизонтали и вертикали в пикселях).

Каждый компонент имеет набор свойств, которые отображаются в окне Инспектора объектов (п.2.1.1). Свойства предназначены для задания внешнего вида и поведения компонентов. Большинство свойств имеют значения по умолчанию. Пользователь настраивает компонент путем изменения значений нужных свойств в окне Инспектора. Для утверждения нового значения нажимается клавиша Enter или делается переход к следующему свойству или компоненту, а для отмены введенного значения нажимается клавиша Esc сразу после ввода.

Cуществуют следующие редакторы для ввода значений свойств.

Текстовый ‑ ввод строки символов или числа (например, Caption).

Перечисляемый ‑ значение вводится непосредственно или выбирает­ся из раскрывающегося списка. Если в списке всего два значения, то новое значение можно получить двойным щелчком (например,Visible).

Составной ‑ свойство (составное свойство) содержит список под­свой­ств, каждое из которых можно редактировать. Перед именем такого сос­тавного свойства указан знак «+». Двойной щелчок раскрывает этот список и знак «+» заменяется на «‑«(например, +Font).

Кнопка с троеточием служит для вызова специального редактора установки значения (например, Font).

Значения свойств можно изменять и в программе в виде:

<имя объекта (значение свойства Name)>. <имя свойства> := <выражение>

Пример: Label1.Caption:=’Фамилия сотрудника?’;

Если свойство составное, то подсвойство уточняется слева свойством и т.д.

Пример: Label1.Font.Color:=clRed;//Color подсвойство свойства Font.

Компонент может быть размещен внутри другого компонента, называемого контейнером (например, кнопки в контейнере ‑ панели).

Существуют свойства, недоступные через инспектор объектов (на­при­мер, RecordCount) и есть свойства, которые нельзя изменять при выпол­нении программы.

Свойства

2.1.7.1. Имя объекта

Name - имя объекта (компонента, элемента) для ссылки на объект в прог­рамме. Каждый объект имеет имя. Имя содержит латинские буквы, цифры и знаки подчеркивания и не может начинаться с цифры. Имя формируется автоматически при создании объекта (имя класса без первой буквы «T» и порядковый номер экземпляра объекта данного класса), но для нагляд­ности рекомендуется изменять имя, давая ему смысловое обозначение.

2.1.7.2. Внешний вид объекта

Caption ‑ содержит текст, который будет отображаться вместе с объектом, например, на командной кнопке или в заголовке формы. Если нужно подчеркнуть определенный символ, то перед ним указывается символ «&». Такой символ (акселератор) выполняет роль клавиши быстрого доступа для командной кнопки и, нажав ее одновременно с клавишей Alt, имитируется нажатие самой кнопки.

Пример: Button1.caption:=’&Выход’//клавиша быстрого доступа B

BorderStyle ‑ определяет рамку из одиночной линии вокруг объекта (sbs­Single) или ее отсутствие (sbsNone), «вдавленность» текста (sbsSunken).

Color‑ цвет фона объекта, например, формы или кнопки. Цвет задается в виде четырехбайтного шестнадцатеричного числа от 0 до 2FFFFFF: пер­вый байт содержит номер палитры, обычно $00 (системный цвет), следующие три байта содержат числа от 0 (выключен) до FF (максималь­ная интенсивность), выражающие RGB‑интенсивность смешиваемых цве­тов красного, зеленого и синего. Для удобства цвета можно задавать именованными константами: clAgua (ярко‑голубой), clBlack (черный), clBlue (голубой), clGray (серый), clGreen (зеленый), clLime (ярко‑зеленый), clMaroon (темно‑красный), clNavy (темно‑синий), clOlive (оливковый), clPurple (фиолетовый), clRed (красный), clSilver (серебряный), clTeal (бирюзовый), clWhite (белый), clYellow (желтый).

Следующие константы задают системные цвета Windows: clBack­Gro­und (фон окна), clActiveCaption (заголовок активного окна), clInactive­Caption (заголовок неактивного окна), clMenu (фон меню), clWindow (фон ок­на), clWindowFrame (рамка окна), clMenuText (пункт ме­ню), clWin­dows­Text (текст внутри окна), clCaptionText (текст заголовка ак­тив­но­го окна), clInactiveCaptionText (текст заголовка неактивного окна), clActive­Border (рамка активного окна), clInActiveBorder (рамка неактив­но­го окна), clAppWorkSpace (рабочая область приложения), clHighlight (фон вы­деленного текста), clHighlightText (выделенный текст), clBtnFace (кноп­ка), clBtnShadow (тень кнопки), clGrayText (неактивный интерфейс эле­мен­та), clBtnText (текст кнопки), clBtnHighlight (подсвеченная кнопка), cl­Scroll­Bar (полоса прокрутки), cl3DdkShadow (теневая сторона объемных эле­­ментов), cl3DLight (яркая сторона объемных элементов), clInfoText (тек­ст инструментальных средств), clInfoBk (фон инструментальных средств). Пример: Edit1.Color:=clRed; //красный фон поля.

Ctl3D ‑ задает вид визуального компонента: объемный (True).

Font ‑ определяет шрифт, применяемый при отображении текста. Для уста­новки атрибутов шрифта в программе используются подсвойства: Name (имя шрифта), Size (размер шрифта в пунктах; один пункт равен 1/72 дюйма), Height (размер шрифта в пикселях; если размер положителен, то он содержит и межстрочный интервал), Style (стиль шрифта ‑ комбинация следующих констант (подсвойств): fsBold (полужирный), fsItalic (курсив), fsStrikeOut (зачеркивание), fsUnderLine (подчеркивание)), Color (цвет текста). Свойства Size и Height зависят друг от друга.

Пример установки синего цвета текста и зеленого цвета фона метки:

Lab1.Font.Color:=clBlue;{синий текст} Lab1.Color:=clGreen;{зеленый фон}

Transparent ‑ прозрачный объект (True) или нет (False).

Visible‑ определяет, является ли объект видимым (True) или невидимым.

Images ‑ список картин, используемых в дочерних объектах (п.2.3.7.2).

WordWrap ‑ перенос слов при переполнении длины на другую строку.

2.1.7.3. Размеры объекта

AutoSize ‑ размер объекта определяется его надписью или изображением на его поверхности (True).

Height, Width ‑ высота и ширина объекта в пикселях.

2.1.7.4. Местоположение объекта

Align - выравнивание объекта относительно контейнера в котором нахо­дит­ся объект (форма или панель): alNone (без выравнивания), alTop (по верхней стороне), alBottom (по нижней стороне), alLeft (по левой стороне), alRight (по правой стороне), alClient (занимает весь контейнер).

Пример: Panel1.Align:=altop;//выравнивание по верхней стороне.

Top, Left‑ адрес левого верхнего угла объекта относительно контейнера (например, экрана, формы или панели), содержащего этот объект. Размеры и местоположение объекта можно изменять мышкой, перетаскивая ее за края рамки выделенного объекта.

2.1.7.5. Перемещение объекта

DragCursor ‑ определяет вид указателя мышки при перемещении объекта. Значения аналогичны значениям свойства Cursor (п. 2.1.7.9).

DragMode ‑ разрешается (dmAutomatic) или запрещается (dmManual) перенос объекта мышкой при выполнении приложения.

2.1.7.6. Доступ к объекту

Enabled ‑ разрешает (True) или блокирует (False) работу с объектом. Ви­зуаль­но заблокированный объект выглядит затененным, тусклым.

Пример: Button1.Enabled:=False; //блокировка кнопки Button1.

Handle ‑ идентификатор (дескриптор) окна объекта в системе Windows. Используется в функциях Windows для доступа к окнам объектов, например, для посылки сообщений окну (п. 1.7.10; 2.3.3.1).

ReadOnly ‑ только чтение/редактирование значения объекта (True/ False). Программным способом можно изменять значение объекта независимо от значения ReadOnly.

ShowAccelChar ‑ символ «&» указывает на клавишу ‑ акселератор (True).

TabStop ‑ возможность получения фокуса (True).

TabOrder‑ номер (отсчет с нуля) в последовательности обхода клавишей Tab объектов в контейнере. По умолчанию последовательность опре­де­ляет­ся порядком размещения объекта в контейнере. Порядок можно задать и командой Edit/Tab Order.

2.1.7.7. Значение объекта

Tag - содержит любое целое числовое значение, которое помещается для временного хранения, например для передачи информации между фор­ма­ми: Form2.Tag=2.

Text ‑ определяет текущее значение объекта.

Пример. Edit1.Text:=’Иванов’;...Fam:=Edit1.Text; //поле ввода

2.1.7.8. Меню

AutoPopup‑ вывод контекстного меню (True) (п.2.3.8.2).

PopupMenu ‑ выводимое контекстное меню при AutoPopup=True (п.2.3.8.2).

2.1.7.9. Вид указателя мыши

Cursor ‑ определяет вид указателя мышки: crDefault (умалчиваемый вид, обычно стрелка), crNone (отсутствует), crArrow (стрелка), crCross (крест), crHourGlass (песочные часы), crAppStart (песочные часы со стрелкой), crNo (знак запрета), crHandPoint (поднятый вверх указательный палец), crBeam (вертикальная линия с горизонтальными линиями на концах ‑ курсор редактирования), crSize (крестообразные стрелки), crHelp (стрелка с вопросом) и другие. В качестве указателя можно использовать рисунок в файле ресурсов формата Cur или Res, указав номер этого рисунка.

2.1.7.10. Справочная система

HelpContext ‑ указывает номер раздела справочной системы, который выводится при нажатии клавиши F1, когда объект в фокусе (п. 5.1).

ShowHint ‑ вывод подсказки (True).

Hint ‑ устанавливает текст всплывающей подсказки, которая появляется при помещении курсора мыши на поверхности объекта, если ShowHint=True. В строке подсказки, после символа «|», может следовать более развернутая длинная подсказка, которая обычно выводится в строку статуса. Для этого нужно сделать следующее. Разместить простую строку статуса StatusBar1 (п.2.3.1.3), компонент ApplicationEvents (п.2.3.8.6) и для его события OnHint написать обработчик:

Procedure TForm1.ApplicationEvents1Hint(Sender: TObject);

Вegin Form1.Statusbar1.SimpleText:=Application.Hint;{(п.2.2.2.2)} End;

Программным способом можно создать многострочную подсказку, включив символ Enter с кодом 13:

Пример: Button1.Hint:=’Удалить файлы’#13+NameFiles.

2.1.7.11. Наследование родительских свойств

ParentXXX (например, ParentColor, ParentCtl3D, ParentFont или ParentShowHint) ‑ указывает (True), что значение свойства XXX приравни­вает­ся значению одноименного свойства из родительского компонента. Это позволяет наследовать значения свойств своих родителей.

События

Процедуры обработки событий

Для каждого объекта существует набор событий, на которые может реагировать объект. Алгоритм этой реакции задается процедурой поль­зователя обработки этого события либо стандартной процедурой (коман­дой), которая называется методом. Текст процедуры набирается в прог­рам­мном окне, которое вызывается двойным щелчком по полю зна­чения нуж­но­го события на странице Events Инспектора объектов. Имя процедуры состоит из имени формы, точки, имени объекта и имени события без первых двух букв «On».

Мышь

OnMouseDown/ OnMouseUp ‑ нажатие/отпускание любой кнопки мыши.

OnClick ‑ щелчок левой кнопкой мыши по объекту.При нажатии кнопки мыши генерируются события в порядке: OnMouseDown, OnClick (для левой кнопки), OnMouseUp.

OnDblClick ‑ двойной щелчок левой кнопкой мыши по объекту. События генерируются в порядке: OnMouseDown, OnClick, OnMouseUp, OnDblClick, OnMouseDown, OnMouseUp.

OnMouseMove ‑ перемещение указателя мышки над объектом.

Процедуры обработки этих событий могут иметь следующие параметры:

Sender ‑ указывает имя объекта над которым находится маркер мы­ши. Для получения значения имени объекта можно использовать выра­жение вида: (Sender As TControl).Namе.

Пример: Label1.Caption:= ‘Объект ‘+(Sender As TControl).Namе;

Shift ‑ указывает на состояние (нажатие) клавиш Alt, Ctrl, Shift и кнопок мыши в виде комбинации констант (в квадратных скобках через запятые): ssShift (нажата клавиша Shift), ssAtt (Alt), ssCtrl (Ctrl), ssLeft (левая кнопка мыши), ssMiddle (средняя кнопка мыши), ssRight (правая кнопка мыши), ssDouble (выполнен двойной щелчок).

X,Y ‑ координаты указателя мышки в пикселях относительно левого верхнего угла формы, начиная с нуля.

 

 

Пример:

Procedure TForm1.Button1MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

Begin If (Sender=button1) And (ssCtrl in Shift) Then {можно Shift=ssCtrl}

Label1.Caption:='Нажаты кнопка мыши и Ctrl над кнопкой Button1'; end;

Клавиатура

OnKeyDown ‑ непрерывно генерируется событие при удерживании любой клавиши в нажатом состоянии.

OnKeyPress ‑ при каждом нажатии любой клавиши, кроме Tab.

OnKeyUp ‑ при отпускании любой клавиши, кроме Tab.

События наступают в последовательности их описания.

Процедуры обработки этих событий могут иметь следующие параметры: Sender ( имя объекта), Shift (описан выше) и Key.

Параметр ‑ переменная Key задает символ, в KeyPress, или его код (именованная константа (п. 1.1.1)), который соответствует нажатой кла­ви­ше. Если в процедуре обработки события параметру Key задать символ с нулевым кодом (#0), то это вызовет отмену нажатия клавиши.

Пример ввода только цифровых символов, другие игнорируются:

Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

Begin If (key <'0') Or (key >'9') Then Key:=#0; End;

Перемещение объектов

OnStartDrag ‑ генерируется источником в начале перемещения. Обработчику передаются параметры: Source (объект ‑ источник), DragObject (адресат перемещения).

OnDragOver ‑ вызывается приемником, когда перемещаемый объект находится над приемником. Обработчику передаются параметры: Source (объект ‑ источник), Sender (объект ‑ приемник), X, Y (координаты указа­те­ля мышки), State (состояние перемещения), Accept (подтверждение перемещения ‑ True).

OnDragDrop ‑ вызывается приемником при размещении на нем объекта. Обработчику передаются параметры: Source (объект ‑ источник), Sender (объект ‑ приемник), X,Y (координаты указателя мышки).

OnEndDrag ‑ вызывается источником при завершении перемещения. Обра­бот­чику передаются параметры: Target (объект ‑ приемник), X,Y (координаты точки, в которой был отпущен объект ‑ источник Sender). Для перемещаемого объекта следует указать свойство DragMode=dmAutomatic.

Обычно для перемещения достаточно обработать события OnDragOver, OnDragDrop.

Пример перемещения поля Edit1 (DragMode=dmAutomatic):

Procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragState; var Accept: Boolean); Begin Accept:=(Source=Edit1); End;

Procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);

Begin Edit1.Left:=X;Edit1.Top:=Y;End;//координаты нового положения

Пример перемещения элемента списка ‑ источника ListBox1 со свойством DragMode=dmAutomatic в список ‑ приемник ListBox2:

Procedure TForm1.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragState; var Accept: Boolean);

Begin Accept:=Source=ListBox1; End; //подтверждение переноса

Procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);

Begin With Source As TListBox Do Begin //присоединение объекта ListBox1

ListBox2.Items.Add(Items[ItemIndex]);//добавление элемента из ListBox1 в 2

Items.Delete(ItemIndex);{удаление скопирован. элемента из ListBox1}End;

Другие события

OnEnter/OnExit ‑ получение/потеря фокуса элементом управления.

OnHint ‑ указатель мыши неподвижен некоторое время на объектe.

OnResize ‑ событие происходит при изменении размеров объекта. В проце­ду­ре обработки этого события для формы можно изменить размеры объектов, расположенных на форме, или восстановить размеры формы.

OnChange ‑ событие происходит при изменении состояния объекта. В про­цедуре обработки этого события (например, при вводе данных), можно проверить правильность вводимой информации или блокировать (разбло­ки­ровать) отдельные объекты в зависимости от введенного значения.

Методы

Методом можно назвать команду, которая отдается объекту. При ссыл­ке на метод следует указать имя объекта (значение свойства Name), точ­ку и имя метода и далее параметры метода в круглых скобках.

Assign(Source:TPersistent) ‑ присвоение содержимого одно объекта друго­му совместимому объекту (копирование содержимого объекта (п.2.3.3.2)).

< тип создаваемого объекта >.Create(Self) ‑ создание объекта.

Пример создания формы Form3:

If Not Assigned (Form3) Then Form3:=TForm3.Create(Self);//создание

Clear ‑ очистка содержимого объекта с текстовой информацией.

Пример: ListBox2.Clear; RichEdit1.Clear; Edit1.Clear; Memo2.Clear;

Create и Free ‑ создание и удаление объекта.

LoadFromFile(S) ‑ загрузка файла под именем S (п.2.3.2.3).

Perform (Msg: Cardinal, WParam; LParam: LongInt): LongInt ‑ посылает сооб­щение (команду) с кодом Msg оконным объектам.

Пример посылки команды lb_GetCount подсчета числа элементом в списке ListBox1 и вывод полученного числа в надписи Label1:

Label1.Caption:=IntToStr(ListBox1.Perform(lb_GetCount,0,0));

Refresh ‑ повторное формирование и визуализация формы или объекта. Обычно используется после изменения свойств объекта для вывода его с новыми свойствами.

Пример: Button2.Caption:='Выход'; Button2.Refresh;

SaveToFile(S) ‑ вывод содержимого компонента в файл S (п.2.3.2.3).

ScrollInView(AControl:TControl) ‑ изменяет позиции полос прокрутки так, чтобы объект, указанный параметром AControl, стал виден (п.2.3.5.5).

SetFocus ‑ устанавливает фокус на определенном объекте. Установить фо­кус на объекте означает сделать объект текущим. Например, для текущего текстового поля курсор находится в данном поле, предлагая вводить данные в это поле. Естественно, не могут одновременно быть несколько объектов, на которые установлен фокус.

При попытке установить фокус на объект, который не может его получать (его свойство Enabled=False), возникает ошибка. Для проверки его доступности можно использовать функцию (метод) CanFocus, которая возвращает True, если объект может получать фокус или проверять значение свойства Enabled.

Пример: If Edit2.CanFocus Then Edit2.SetFocus //первый вариант

If Edit2.Enabled Then Edit2.SetFocus //второй вариант

Show/Hide ‑ показать/скрыть объект.

Глобальные объекты

Формы (Form)

Форма является основой разработки приложения и на ней разме­щаются все необходимые компоненты. Форма служит окном Windows. Для создания новой формы нужно обратиться к репозиторию командой File/New и выбрать нужный тип формы. В приложении может быть несколько форм (окон), но одна из них называется главной, и она первой появляется после запуска приложения и ее закрытие прекращает работу при­ложения. Можно сменить главную форму командой Project/Op­tions/Form/Main Form.

Формы бывают двух типов: модальные (требуют обязательного закрытия перед обращением к другой форме) и немодальные (допускают переключение на другие формы без ее закрытия). Приложения бывают однодокументальные (SDI ‑ Single Document Interface), в которых ни одно окно не содержит в себе другие окна, и многодокументальные (MDI ‑ Multiple Document Interface) ‑ главное окно содержит дочерние окна.

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

Свойства

Active/ChildActiveForm ‑ обычное/дочернее окно активно, т.е. имеет фокус ввода (True). Родительское окно не может быть активным.

ActiveControl ‑ определяет дочерний элемент, содержащий фокус.

ActiveMDIChild ‑ определяет дочернее MDI ‑ окно с фокусом.

AutoScroll‑ автоматическое появление полос прокрутки (True).

BorderIcon ‑ определяет наличие в окне кнопок: biSystemMenu (меню), biMinimize (минимизации), biMaximize (максимизации), biHelp (помощи).

BorderStyle ‑ стиль рамки окна: bsNone (заставка, нет рамки и заголовка, не может перемещаться и изменяться мышкой), bsSigle (размеры рамки не изменяются), bsSizeable (размеры рамки изменяются), bsDialog (диалоговое окно не означает, что окно модальное), bsToolWindow (панель инстру­мен­тов), bsSizeToolWind (панель инструментов с изменяемыми размерами). Воз­можность изменения или неизменения размеров окон относится к мышке, а программно всегда можно изменить размеры окон.

ClientHeight, ClientWidth ‑ высота и ширина клиентской части формы.

FormStyle ‑ стиль формы: fsNormal (стандартный), fsMDIChild (дочерняя форма), fsMDIForm (родительская форма), fsStayOnTop (всегда вверху, для вывода заставки или системной информации).

Icon ‑ имя файла с пиктограммой окна. Можно программно задать пик­тограмму (Form3.Icon.LoadFromFile(‘Book.ico’).

KeyPreview ‑ форма обрабатывает событие от клавиатуры перед обработ­кой активным объектом (True).

MDIChildCount ‑ число дочерних окон в MDI ‑ окне.

MDIChildren[I] ‑ открывается доступ к I‑му дочернему окну в MDI‑окне.

Menu ‑ имя главного меню формы (п.2.3.8.1).

ModalResult ‑ целочисленный результат диалога для модального окна. Position ‑ положение и размеры окна при появлении окна: poDesigned (запроектированное), poDefault (Windows), poDefaultPosOnly (положение при проектировании, размеры ‑ Windows), poDefaultSizeOnly (размеры при проектировании, положение ‑ Windows), poScreenCenter (в центре экрана).

PrintScale ‑ определяет масштабирование формы при печати на принтере: poNone (нет, каждый пиксель выводится одной точкой), poProportional (пропорционально), poPrintToFit (пропорционально с заполнением листа).

Scale ‑ разрешается масштабирование формы при различии значений свойств разрешающей способности PixelPerInch для формы и экрана.

TitleMode ‑ стиль расположения дочерних окон при упорядочении мозаикой.

VertScrollBar, HorzScrollBar ‑ управление вертикальной и горизонтальной полосами прокрутки при AutoScroll=False.

WindowMenu ‑ определяет пункт главного меню MDI‑окна, к которому добавляются опции дочернего окна.

WindowState ‑ состояние окна при его появлении: wsNormal (проектное), wsMinimized (свернутое), wsMaximized (на весь экран).

 

Методы

ArrangeIcons ‑ упорядочение пиктограмм закрытых дочерних окон.

Cascade/Tile ‑ каскадное/мозаичное расположение дочерних окон.

Close ‑ окно закрывается без его уничтожения и, по возможности, удаляет­ся с экрана. Можно его снова показать методом Show. Метод помещает константу 2 (mrCancel) в свойство формы ModalResult.

Закрытие главной формы завершает выполнение приложения.

CloseQuery ‑ возвращает True, если можно закрыть окно.

Application.CreateForm( <тип формы>,<имя формы> ) ‑ создание формы.

Пример: Application.CreateForm(TForm2,Form2)

DefocusControl( Control:TwinControl,R ) ‑ отбирает фокус у дочернего элемента Control и, если R=True, то фокус получает форма.

FocusControl( Control:TwinControl ) ‑ передает фокус дочернему элементу Control.

Free, Release, Destroy ‑ уничтожает окно и ее дочерние окна и освобождает память. Обращение к уничтоженным окнам вызовет ошибку. Рекомен­ду­ется использовать метод Free, который проверяет возможность удаления.

GetFormImage ‑ содержит текущее изображение формы.

Hide ‑ скрыть форму. Метод не изменяет значение свойства ModalResult. После скрытия свойство Visible:=False.

Next/Previous ‑ переход к следующему/предыдущему MDI‑окну.

Print ‑ распечатка окна на принтере.

SendCancelMode(Sender:Tcontrol) ‑ восстанавливает начальное состояние окна.

SelectNext(CurControl as TWinControl;GoForward,CheckTabStop:Boolean) ‑ передает фокус следующем/предыдущему (GoForward:=True/False) объекту, относительно объекта CurControl с учетом свойства TabStop (CheckTabStop:=True) объекта ‑ адресата (п.2.3.2.1).

SetFocus ‑ передает фокус активной и видимой форме.

Show ‑ показ формы в немодальном режиме. После свойство Visible:=True.

ShowModal:Integer ‑ показ формы в модальном режиме и возвращение результата диалога. После возвращения свойство Visible:=True.

События

OnActive ‑ активизация окна Sender при получении фокуса.

OnClose ‑ непосредственно перед закрытием окна Sender. Параметр‑пе­ре­мен­ная Action задает режим: caNone (не закрывать окно), caHide (скрыть окно,), caFree (уничтожить окно), caMinimize (свернуть окно). При закрытии (Close)/уничтожении окна Action= caHide / caFree.

Событие возникает при закрытии окна щелчком по системной кнопке закрытия окна или при вызове метода Close. При закрытии главного окна все остальные окна закрываются без генерации этого события.

OnCloseQuery ‑ перед закрытием окна Sender. Обработчик задает парамет­ру‑переменной CanClose значение True при закрытии окна.

Пример подтверждения закрытия окна:

CanClose:=MessageDlg(‘Закрыть?’,mtConfirmation,[mbYes,mbNo],0)=MrYes

OnCreate ‑ при создании окна перед его появлением на экране. Можно, например, установить начальные свойства формы и ее объектов, открыть фай­лы, сформировать значения полей, списков, установить фокус, забло­кировать или разблокировать объекты.

OnDeactivate ‑ при потере фокуса.

OnDestroy ‑ перед разрушением окна для освобождения ресурсов.

OnHelp ‑ при обращении к справочной системе. Если обработчик укажет параметру‑переменной CallHelp=True, то получение помощи разрешается

OnHide,OnShow ‑ момент исчезновения/появления окна.

OnPaint ‑ при перерисовке окна, например, при активизации формы, если ее часть была закрыта другими формами.

OnResize ‑ при изменении размеров окна. В обработчике можно изменить размеры объектов в окне пропорционально изменениям окна.

При закрытии и уничтожении формы генерируются события в пос­ле­довательности: OnCloseQuery, OnClose, OnDeactivate, OnHide, OnDestroy.



Поделиться:


Последнее изменение этой страницы: 2017-02-08; просмотров: 1055; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.131.178 (0.136 с.)