События, предназначенные для поддержки перетаскивания.
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Type
TStartDragEvent = procedure (Sender:TObject;
                          var DragObject:TdragObject) of object;

Property OnStartDrag:TStartDragEvent; - событие возникает, когда начинается перетаскивание компонента.
          Параметр DragObject содержит ссылку на объект, используемый для формирования изображения элемента управления во время перетаскивания. По умолчанию равняется nil, что означает, переноситься будет сам компонент.

Type
TDragOverEvent=procedure (Sender, Source: TObject;
   X, Y:Integer; State:TdragState;var Accept:Boolean) of object;

Property OnDragOver: TdragOverEvent; событие возникает в процессе перетаскивания, когда перетаскиваемый компонент Source находится над элементом Sender
 X, Y – глобальные координаты курсора мыши.
State определяет состояние перетаскиваемого компонента по отношению к другим компонентам там возможны следующие состояния:
          dsDragEnter – курсор входит в пределы компонента;
          dsDragMove – курсор перемещается в пределах компонента;
          dsDragLeave – курсор выходит за пределы компонента

 

 

  1. Свойства и методы, поддерживающие связь родительский-дочерний.
  2. ContolCount: Integer; Controls[Index:integer]:TControl; ParentCtrl3D: Boolean;

Потомки TControl – являются оконными элементами управления.

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

          Каждое окно Windows связано со специальным числовым идентификатором – дескриптором окна.

          В этом классе завершается определение характеристик связи родительский дочерний, начатое в TControl (только оконный элемент может быть контейнером).

СВОЙСТВА
 ContolCount: Integer; - задает кол-во дочерних эл-в управления.

 Controls[Index:integer]:TControl; - массив дочерних
 ParentCtrl3D: Boolean; – используется ли значение свойства
   Ctrl3D родителя

МЕТОДЫ

Function ContainIsControl(Control:TControl):Boolean; - истина, если текущий элемент управления является родительским по отношению к Control

Procedure InsertControl(AControl:TControl); - помещает компонент AControl в свойство-массив Controls данного оконного элемента.

RemoveControl(AControl:TControl); - удаляет компонент AControl из свойства-массива Controls данного оконного элемента

 

  1. События клавиатуры TwinControl . События активизации оконного элемента и потери фокуса.













События клавиатуры TwinControl

TKeyPressEvent = procedure (Sender:TObject;
                                                   var Key:Char; ) of object;
Property OnKeyPress: TKeyPressEvent;
-
событие возникает при нажатии символьной клавиши.
Параметр Key содержит Ansi код нажатой клавиши.


TKeyEvent = procedure (Sender:TObject; var Key:Word;
                                      Shift:TShiftState) of object;
Property OnKeyDown: TKeyEvent;
Property OnKeyUp: TKeyEvent;
-
событие возникает при нажатии (отпускании) клавиши.
Sender – содержит ссылку на активный элемент управления.
Key – код нажатой клавиши.
Shift – ssLeft, ssRight, ssMiddle, SsShift, ssAlt, ssCtrl, ssDouble одновременно нажаты клавиши Shift, Alt, Ctrl











События активизации оконного элемента и потери фокуса.

Property OnEnter: TNotifyEvent; - возникает, когда оконный элемент получает фокус.

Property OnExit: TNotifyEvent; - возникает, когда оконный элемент теряет фокус.

 

 

Класс TGraphicControl.

Потомки этого класса имеют общее название – графические элементы управления.

          Потомки TGraphicControl: фокус ввода не получают, не могут быть родительскими для других, реагируют на события мыши.

          Их назначение – вывод информации на экран, улучшение внешнего вида.Представители: Label, Shape- фигура, PaintBox – паненль рисования, Imege.

              

Property Canvas: TCanvas; - (канва - холст) средства предназ-наченные для создания на экране графического изображения.

Procedure Paint; - рисует изображение графического элемента управления. В потомках обычно переопределяется, чтобы учесть специфику.

 

  1. Приложение в Delphi. Классификация компонентов VCL

  1. Компоненты VCL для создания GUI

 

 

 

  1. Форма. Характеристики формы. Управление видимостью.

 

  1. События формы. Оформление формы. Модальные формы.

 

  1. Диалоговые окна. MessageDlg. InputBox. Шаблоны форм.

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

Виды диалоговых окон:

окна ввода информации;

окна вывода информации (окна сообщений).

ShowMessage(const Msg: String);

Окно сообщения с кнопкой OK. В заголовке окна название исполняемого файла, а строка Msg выводится как текст сообщения.

Стандартные диалоговые окна.

MessageDlg

MessageDlg(const Msg:String; Atype:TmsgDlgType; Abuttons:tMsgButtons;HelpCtx: Longint) :Word;

Окно сообщения типа Atype в центре экрана и позволяет получить ответ на него. Тип окна:

mtWarning – черный восклицательный знак в желтом треугольнике; Warning

mtError – белый крест в красном круге заголовок Error

mtInformation – буква I в белом круге заголовок Information

mtConfirmation – знак вопроса заголовок Confirmation

mtCustom – нет картинки в заголовке имя исполняемого файла

Тип кнопки Abuttons задает набор кнопок и может принимать любой набор значений : mtError mbNo mbCancel mbHelp mbAbort mbRetry mbIgnore mbAll Abuttons имеет две константы, задающие кнопки: mbYes, NoCancel и mbOkCancel. При нажатии любой из кнопок происходит закрытие окна (кроме Help), а свойство ModalResult возвращается функцией MessageDlg.

HelpCtx – определяет контекст справки.

MessageDlgPos(const Msg: String; AType:TmsgDlgType; Abutton:TmsgDlgButtonS; HelpCtx:Longint; X,Y:integer):Word;

Отличается от функции MessageDlg наличием параметров положения окна на экране.

InputBox

InputBox(const Acaption, Aprompt, Adefault: string):string;

Функция создающая диалоговое окно для ввода строки текста, возвращает строку. Окно в центре содержит поле ввода с надписью и кнопки OK Cancel.

Acaption, - заголовок окна

Aprompt – поясняющий текст к полю ввода.

Adefault – строка возвращаемая при отказе.

Например

InputBox(‘пользователь’,’введите фамилию’,’Иванов’);

Procedure InputQuery(const Acaption, Aprompt, Adefault: string; var value:string):Boolean;

Возвращает результат в value. Результат True, если выход Ок, False если выход кнопкой Cancel.

Приложение. Свойства и события.

Приложение описывается классом Tapplication. Объект автоматически создается при каждом запуске среды. На этапе конструирования объект не доступен, но его создание отражается в файле проекта .dpr.

program Prim;

uses

Forms,

im in 'im.pas' {Form1};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Title: string; Определяет название приложения и содержит текст идентифицирующий приложение. По умолчанию название совпадает с именем exe файла project1.

ExeName:string; Содержит путь и имя исполнимого файла, доступно для чтения на этапе выполнения.

Active:Boolean; Активно ли приложение

HelpFile:string; Имя справочного файла.

 

Application.HelpFile:=’D:\ Help.hlp’; По умолчанию пустая строка. Если несколько файлов в справочной системе, то они активизируются по необходимости этой же командой.

HintPause; HintHidePause; HintColor;( Hint – текст подсказки в кажд эл) По умолчанию подсказка появляется через 0.5с убирается через 2.5с. временные задержки задаются в свойстваx

Application.HintPause:=100;

Application.HintHidePause:=5000;

Application.HintColor:=clRed;

Application.Icon.loadFromFile(primer.ico); - задание значка.

Методы.

ProcessMessages

При длительных вычислительных операциях приложение не реагирует на поступающие сообщения, в том числе и на действия пользователя. Чтобы исправить положение есть метод ProcessMessages procedure TForm1.Button1Click(Sender: TObject);

var i:longint;

begin

for i:=1 to 10000000 do

   begin

       edit1.Text:=intToStr(i);

       application.ProcessMessages;

   end;

end;

Объект Application доступен только на этапе выполнения приложения, поэтому для облегчения кодирования обработчиков удобно использовать компонент ApplicationEvent со страницы Additional. После размещения на форме этого компонента все события и их обработчики становятся доступными на этапе конструирования.

События.

Наиболее часто встречающиеся события OnIdle, OnException, OnHint OnIdle – возникает при простое приложения. Операции, включенные в этот обработчик выполняются каждый раз когда приложение становится в режим ожидания.

  1. Кнопки. Button, BitBtn, SpeedButton.
  2. Компоненты ввода и вывода текстовых данных. Метка Tlabel

Иерархия TObject-TPersistent-TComponent-TControl-TGraphicControl-TcustomLabel. Страница палитры Standard.

Предназначена для вывода на экран текстовой информации (названия разъяснения).

Основным свойством является caption (TControl). Туда помещается выводимый текст.

Label1.caption:=‘выводимый текст’;

Обрабатывает события связанные с использованием мыши/

По умолчанию для метки основным является событие OnClick

  1. Класс TCustomEdit .

Класс TCustomEdit.

Позволяет вводить с клавиатуры и редактировать различную информацию. Имеются возможности выделения, копирования, удаления, вставки текста, скроллинга и т. д.

TObject-TPersistent-TComponent-TControl-TWinControl-TCustomEdit.

Property AutoSelect:Boolean; - ИСТИНА по умолчанию, текст выделяется при активизации редактора.

Property borderStyle; - вид границы.

Property MaxLength:Integer; - максимальное число символов, которые можно поместить в редакторе. Если 0 (по умолчанию), то любое число символов.

Property ReadOnly: Boolean; - по умолчанию ЛОЖЬ, только ли для чтения.

Property PasswordChar:Char; - задает символ, который будет выводиться при вместо реально вводимых символов, как при вводе пароля.

Procedure Clear; virtual; - удаляет текст, помещенный в редактор.

Procedure ClearSelection; - удаляет выделенный фрагмент.

Procedure CopyToClipboard; - копирует в буфер.

Procedure CutToClipboard; - вырезает в буфер.

Procedure PasteFromClipboard; - вставляет.

Procedure SelectAll; - выделяет весь текст в редакторе.

Строка ввода Edit .

Edit

Компонент Delphi Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем. Основным свойством компонента Delphi Edit, передающим введённую информацию, является свойство Edit1.Text типа String.

TObject-TPersistent-TComponent-TControl-TWinControl-TCustomEdit-TEdit.

Страница палитры Standart.

Основным свойством строки ввода является текст.

Property Text: TCaption; - символьная строка в редакторе. Type TCaption=string;

Может быть помещена либо на этапе конструирования, либо на этапе выполнения, чаще для ввода информации. Это оконный элемент управления и он обрабатывает все события от мыши и клавиатуры, а так же событие OnChenge

Type OnChange: TNotifyEvent; - возникает при изменении текста строки ввода

Класс TStrings .

Класс TStrings.

TObject-TPersistent-TStrings

Абстрактный класс инкапсулирует поля и методы для работы с наборами строк. Особенностью TStrings является, то что элементами наборов являются пары строка объект. Строка – строка символов, а объект – объект любого класса.

Property Count:integer; - определяет число элементов в списке.

Property Objects[Index:integer]:TObject; - определяет указатель на объект, ассоциированный со строкой с номером index.

Property Strings[Index:integer]:string; - определяет строку с номером index, начиная с нуля.

Property Text:string;- содержит все строки списка, включая разделители (ВК,ПС #13 #10).

Методы, определенные в классе.

Function Add(const S:string):integer;virtual; - добавляет строку S в список и возвращает порядковый номер этой строки в списке.

Function AddObject(const S:string; AObject:TObject):integer;virtual; - добавляет строку S и связанный с ней объект AObject в список и возвращает индекс строки и объекта в списке.

Procedure AddString(string:TString);virtual; - добавляет список другого объекта String класса TString к текущему списоку.

Procedure Clear;virtual;abstract; - удаляет все строки и указатели на объекты из списка.

Procedure Delete(Index:integer);virtual;abstract; - удаляет из списка элемент с номером Index.

Procedure Exchange(index1,index2:integer);virtual; - меняет местами два элемента списка с номерами..

Procedure Move(CurIndex,NewIndex:integer);virtual;- перемещает элемент списка из позиции ..в

Procedure Insert(index:integer; const S:string);virtual;abstract; - вставляет в список строку S номером Index.

Procedure LoadFromFile(const FileName:string);virtual; загружает список из файла с именем FileName.

Procedure SaveToFile(const FileName:string);virtual; - помещает список в файл с именем FileName.

  1. Текстовый редактор Memo.

Текстовый редактор Memo.

TObject-TPersistent-TComponent-TControl-TWinControl-TCustomEdit-ЕСustomMemo.

Property Lines:TStrings; - задает список строк, помещенных в редактор.

Type TScrolStyle=(ssNone,ssHorizontal,ssVertical,ssBoth);

Property ScrollBars:TScrollBars; - задает наличие линеек скроллинга.

Property WantReturns:Boolean; - ИСТИНА, то по клавише Enter происходит переход на новую строку текста, иначе переход делается Ctrl+Enter.

Текстовый редактор Memo обрабатывает все события связанные с мышью и клавиатурой, а также событие OnChange.

Компонент Delphi Memo это простой текстовый редактор. Delphi Memo позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл текстового формата.

Свойства memo:

Name - Имя компонента. Используется в программе для доступа к свойствам компонента

Text - Текст, находящийся в поле Memo. Рассматривается как единое целое

Lines - Текст, находящийся в поле Memo. Рассматривается как совокупность строк. Доступ к строке осуществляется по номеру

Lines.Count - Количество строк текста в поле Memo

Left - Расстояние от левой границы поля до левой границы формы

Top - Расстояние от верхней границы поля до верхней границы формы

Height - Высоту поля

Width - Ширину поля

Font - Шрифт, используемый для отображения вводимого текста

ParentFont - Признак наследования свойств шрифта родительской формы

Список ListBox .

Страница Standart.Предназначен для непосредственного отображения списка строк на экране. Применяется его как список выбора, т.е. может быть выделена одна или несколько строк.

Свойства:

Items:TStrings; - задает элементы списка.

MultiSelect:Boolean; - определяет разрешается ли одновременно выделять несколько элементов списка.

ItemIndex:Integer; - определяет индекс выделенного элемента в списке. Нумерация с нуля. Если выделенного нет, то значение минус 1. Если может быть выделено несколько элементов, указывается индекс активного. Свойство доступно только на этапе выполнения программы.

Selected[Index:Int]:Boolean; - если i-й элемент списка выделен, то True. Доступно только на этапе выполнения программы. Sorted:Boolean; - должны ли строки в списке автоматически сортироваться в алфавитном порядке.

Метод:

Clear - метод удаляет все элементы списка.

Событие:

OnClick - по умолчанию - оно возникает, когда в окне ListBox выделяется один или несколько элементов

 

  1. Комбинированная строка ввода ComboBox.

ComboBox - поле со списком. Объединяет в себе возможности строки ввода Edit и списка ListBox, поэтому свойства и методы заимствованы из обоих объектов. Используя ComboBox можно вводить в список новые элементы, осуществлять поиск нужного элемента в списке, отображать активный элемент списка.

Свойства:

Item:TStrings; - задает элементы списка.

DroppedDown:Boolean; - отображается ли в данный момент раскрывающийся список.

DropDownCount:Integer; - число элементов, отображаемое в раскрывающемся списке.

ItemIndex:Integer; - определяет индекс выделенного элемента в списке. Нумерация с нуля. Если выделенного нет, то значение минус 1.

Text:TCaption; - текст выбранной или введенной строки.

Отсутствует свойство MultiSelect не допускается множественный выбор. Основные операции такие же как и в ListBox.

OnChange - событие по умолчанию, возникает при изменении текста в окне редактирования.

  1. Таблица StringGrid .

Страница Additional.

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

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

Если задан режим редактирования, то на этапе выполнения программы разрешен ввод и редактирования данных, находящихся в ячейке.

Нумерация начинается с нуля, координаты каждой ячейки задаются парой чисел: номер столбца, номер строки. (3,4) – 4столбец, 5 строка.

Свойства:

Col/ Row :Longint; - столбец /строка где находится активная ячейка.

ColCount / RowCount :Longint; - число столбцов / строк.

ColWidths[i] / RowHeigths[i]:integer; - ширина и высота i-й строки в таблице.

DefaultColWidths:integer; DefaultRowHeight:integer; - задает исходную ширину высоту всех строк.

FixedColor:TColor; - цвет фиксированных ячеек.

FixedCols:Integer; - число фиксированных столбцов

FixedRows:Integer; - число фиксированных строк (1 по умолчанию).

property Selection:TGridRect; - указывает область текущего выделения. При выделении указываются номера строк и столбцов.

Каждая ячейка может находиться в одном из пяти состояний: пассивном, выделенном (выделена цветом), активном (выделена рамкой из точек), фиксированном (выделена особым цветом) и редактирования (значение флага goEditing равно True). Для определения поведения таблицы используется свойство Property Options

GoFixedVertLine GoFixedHorzLine– фиксированные ячейки разделяются вертикальными горизонтальн линиями.

GoVertLine GoHorzLine – остальные ячейки разделяются вертикальными гоизонтальными линиями.

GoRangeSelect – допустимо выделение нескольких ячеек.

GoRowSizing GoColSizing– высота строк столбцов может изменяться.

GoRowMoving GoColMoving – строки столбцы таблицы могут перемещаться.

GoEditing – ячейки могут редактироваться.

GoTabs – переход от ячейки к ячейке может с помощью клавиши Tab.

GoRowSelect – вы деление только целых строк таблицы.

GoAlwaysShowEditor – при выделении ячейки она сразу же становится активной ( в противном случае двойным нажатием, либо любой символьной клавишей).

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

Доступ к данным находящимся в ячейках осуществляют следующие свойства (все доступны на этапе выполнения программы).

Cells[Acol,Arow:integer]:string; - содержимое ячейки с заданным столбцом и строкой.

Cols[Index:integer]:TStrings; - список ячеек всех строк, принадлежащих столбцу с индексом Index.

Rows[Index:integer]:TStrings; - список ячеек всех столбцов, принадлежащих строки с индексом Index.

Objects[Acol,Arow:integer]: TObject; двумерный массив, элементами которого являются указатели на объекты, каждый из которых ассоциирован на ячейку с индексами …

Переключатель RadioButton

Компонент RadioButton – кружок с точкой. Располагаются обычно по группам. Группа может объединяться в одном из следующих контейнеров – Form, Panel, GroupBox, ScrollBox. Выбор переключателя – взаимоисключающий. Повторным нажатием его состояние не изменяется.

Checked:Boolean

Дата: 2019-07-25, просмотров: 172.