Методы
Методы - это процедуры или функции, принадлежащие объекту. Методы определяют поведение объекта. Для вызова метода объекта сначала записывается имя объекта, с которым ассоциирован данный метод, затем, через точку, название метода. Например:
Buttonl.Click
Вызывает метод нажатия (click) кнопки (Buttonl).
Для создания метода его нужно сначала объявить внутри описания класса или компонента, содержащего данный метод. Например:
type TMyComponent = class(TObject)
procedure DoSomething;
end;
Здесь, внутри описания нового компонента, объявляем метод DoSomething с помощью служебного слова procedure. После того как мы объявили новый метод, мы должны создать тело данного метода. Эта процедура может находиться где угодно внутри модуля, в котором был описан компонент. Например:
procedure TMyComponent.DoSomething; begin
// Здесь размещаем команды и операторы, которые должны выполняться
// при вызове метода DoSomething на выполнение
end;
Заметим, что при создании процедуры DoSomething мы должны указывать его полное имя вместе с указанием имени компонента или класса (procedure TMyComponent.DoSomething;).
Рассмотрим основные методы, которые имеются в среде Delphi.
Метод Add предназначен для добавления нового элемента в список типа TList, TstringList или Tstrings. Если список не отсортирован, то новый элемент добавляется в самый конец списка. Если список отсортирован, то новый элемент добавляется в позицию списка, определяемую сортировкой. Вызов этого метода увеличивает значение свойства Count для данного списка. При выполнении подобного метода может возникнуть исключение EListError в случае, когда список отсортирован, добавляемая строка уже присутствует в списке и для данного списка свойство Duplicates установлено В dupError..
Метод Аrc предназначен для рисования дуги окружности или эллипса. В качестве параметров метода передаются координаты четырех точек. Первые две точки (X1, YI) и (X2, Y2) определяют прямоугольник, описывающий эллипс. Следующая точка (X3, YЗ) задает начальную точку дуги, которая находится на пересечении прямой, проходящей через центр окружности или эллипса и точки (X3, YЗ). Точка (X4, Y4) фиксирует конечную точку дуги, которая находится на пересечении прямой, проходящей через центр окружности или дуги и точки (X4, Y4). Дуга рисуется против часовой стрелки от начальной до конечной точки. Для наглядности, приведем рис. 2.3.
Рис. 2.3. Координаты точек, задаваемых при вызове метода Arc
Для рис. 2.3 можно привести такой пример вызова метода Arc: Imagel.Canvas.Arc (0,0, 200,100, 200,10, 0,0);
Примечание
Если вы создаете приложение, предназначенное для работы в Windows 95, обратите внимание на суммы Х1+Х2, Y1+Y2 и X1+X2+Y1+Y2. Они не должны превышать числа 32 768.
Метод Assign применяется для копирования данных одного объекта в другой. Данный метод имеет отличие от простого присваивания: объект1 := объект2. Разница заключается в том, что при присваивании указатель на <объект-назначение> начинает указывать на <объект-источник>, а метод Assign создает новую копию объекта. После применения Assign имеется два объекта с одинаковыми данными. Если объекты разного типа, то при вызове D.Assign(S) тип D должен "знать", как скопировать в него тип s (тип s может ничего не знать о преобразовании типов). Если метод Assign не может осуществить преобразование типов, то он вызывает защищенный метод AssignTo, объявленный в классе TPersistent и перегруженный в классах, производных от него. Вызов имеет вид s.AssignTo(D). Если и метод AssignTo не может осуществить преобразование или если он не перегружен, то вызывается AssignTo класса TPersistent и генерируется исключение. Метод Assign можно применять в разных ситуациях. Хорошей иллюстрацией использования данного метода может служить копирование изображения из буфера обмена в графический компонент Timage:
Imagel.Picture.Assign (Clipboard);
и, наоборот, из компонента в буфер обмена
Clipboard.Assign (Imagel.Picture);
Примечание
Для работы с буфером обмена Windows необходимо в блок uses модуля, в котором идет работа с Clipboard, добавить ClipBrd.
Метод BeginDrag вызывается, когда начинается процесс перетаскивания компонента. Данный метод применяется только в случае, когда свойство DragMode компонента имеет значение dmManual. В случае, когда свойство имеет значение dmAutomatic, перетаскивание компонента осуществляется автоматически. Вызов метода BeginDrag обычно вставляют в обработчик события onMouseDown. Параметр immediate метода BeginDrag показывает, сразу ли после нажатия кнопки мыши указатель курсора сменит вид на тот, который определен в свойстве DragCursor, и сразу ли начнется процесс перетаскивания. В случае, когда параметр immediate имеет значение false, перетаскивание начинается только после того, как пользователь щелкнет на компоненте и сместит указатель мыши на расстояние в пять пикселов. Это удобно для того, чтобы обрабатывать щелчок на компоненте, не начиная его немедленного перетаскивания.
Метод BringToFront применяется для переноса компонента наверх в так называемой Z-последователъности. Z-последовательность определяет порядок компонентов в свойстве controls родительского оконного компонента (см. раздел "Иерархия визуальных компонентов" этой главы). Тот компонент, который расположен в Z-последовательности выше других, в случае частичного или полного перекрытия компонентов, будет виден. Таким образом, вызов метода BringToFront позволит переместить "наверх" компонент, скрытый под другими компонентами. Данный метод можно применять как к неоконным, так и к оконным компонентам. Однако все неоконные компоненты располагаются в Z-последовательности ниже оконных, поэтому в случае, когда неоконный компонент перекрыт оконным, например кнопка перекрыта компонентом типа TMето, вызов метода - BringToFront для кнопки ничего не даст.
Метод BrushCopy вызывается для копирования части изображения битовой матрицы на область вывода (канву) и замены указанного цвета в изображении на значение, установленное для кисти канвы. Данный метод сохранился от предыдущих версий Delphi и применяется только для совместимости с ними.
Метод CanFocus используется для определения, может ли данный компонент получать фокус. Этот метод возвращает значение true, если у компонента и всех его родителей свойства visible и Enabled имеют значения true.
Метод changeScale применяется для изменения масштаба компонента и всех его дочерних элементов. При вызове этого метода масштабируются такие свойства компонента, как тор, Left, width, Height. Метод ChangeScale имеет два параметра, определяющие множитель и делитель масштаба: м и о. Приведем пример использования данного метода. Допустим, мы хотим увеличить размер формы Forml в два раза, для этого зададим множитель масштаба равный двум, а делитель - единице:
Forml.ChangeScale (2,1);
При выполнении данной строки размеры формы Forml увеличатся в два раза.
Для уменьшения размеров, например, в три раза, нужно задать значение м, равное единице, а значение D, равное трем:
Forml.ChangeScale (1,3);
Метод chord применяется для рисования замкнутой фигуры, границами которой являются дуга окружности или эллипса и хорда. Параметры данного метода аналогичны параметрам метода Arc. Результатом работы метода chord могут стать фигуры, изображенные на рис. 2.4.
Рис. 2.4. Фигуры, получаемые после вызова метода Chord
Метод className применяется для определения имени типа компонента.
Метод clear предназначен для удаления всех элементов, входящих в список, или для удаления всего текста, входящего в компонент.
Примеры:
ListBoxl.Clear; Memol.Clear;
Метод Clear можно применять и к объекту Clipboard. вызов метода Clear для буфера обмена удалит все содержимое буфера.
Метод click служит для вызова обработчика события Onciick для данного компонента. Применяется для имитации нажатия левой кнопки мыши над объектом. Например, для вызова обработчика события Onciick кнопки Buttoni можно проделать следующее:
Button1.Click;
Метод clientloScreen применяется для преобразования координат клиентской области компонента в координаты экрана. Началом координат клиентской области является левый верхний угол клиентской области компонента. Началом координат экрана - левый верхний угол экрана. Для обратного преобразования координат можно использовать метод ScreenTodient.
Метод containsControi определяет, каким наследником (прямым или косвенным) является данный компонент по отношению к какому-либо оконному компоненту. Если этот компонент прямой наследник, то метод возвращает true, иначе - false.
Метод controlAtpos предназначен для оконных компонентов. Он применяется для того, чтобы определить, какой дочерний компонент находится в позиции с координатами, задаваемыми параметром POS. В случае, если в заданной позиции нет ни одного дочернего компонента, метод ControiAtpos возвращает в качестве результата значение nil. Второй параметр AllowDisabled определяет, нужно ли учитывать при вызове метода те компоненты, которые отключены ( которые Disabled = true).
Метод copyRect применяется для копирования прямоугольной части изображения с одной канвы на другую. Копирование осуществляется в том режиме, который определен свойством copyMode.
Метод Delete применяется по отношению к таким компонентам, как TList, TStringList, TStrings и TMenuitem. Данный метод вызывается при необходи-мости удаления какого-либо элемента из списка. В качестве параметра этого метода передается число, определяющее индекс удаляемого элемента. Нумерация элементов начинается с нуля. При удалении пункта меню, содержащего подменю, удаляется и данный пункт, и его подменю.
Примечание
Обратите внимание на то, что при удалении элемента списка происходит перестроение данного списка. То есть, если вы удалили третий элемент, то после его удаления на место третьего элемента будет поставлен четвертый. Таким образом, пустых мест в списках не бывает.
Метод Destroy применяется для вызова деструктора объекта. То есть вызов данного метода уничтожает объект и освобождает занимаемую память.
Примечание
Не рекомендуется вызывать непосредственно метод Destroy для уничтожения объекта. Для этих целей лучше использовать метод Free, он проверяет, не была ли уже раньше освобождена занимаемая объектом память, после чего вызовет метод Destroy. Более того, метод Free генерирует меньший код. Для уничтожения форм используйте метод Release.
Метод DisabieAiign применяется для временного запрета выравнивания дочерних компонентов оконного компонента. Обратное действие можно получить, ВОСПОЛЬЗОВаВШИСЬ МеТОДОМ EnableAlign.
Метод Dormant служит для создания битовой матрицы в оперативной памяти для освобождения дескриптора матрицы. Применение данного метода позволяет сократить расходы ресурсов GDI, которые используются приложением. Приведем пример (листинг 2.1).
Листинг 2.1
// Загрузка картинки в Bitmapl
Bitmapl.LoadFromFile ('mypicture.bmp');
// Копирование в Bitmap2 из Bitmapl
Bitmap2.Assign (Bitmapl);
// Применение метода Dormant и освобождение ресурсов GDI
Bitmap2.Dormant;
Метод Draw применяется для рисования изображения, хранящегося в объекте, который определен параметром Graphic, в координаты, задаваемые параметрами х и У. Изображение может быть либо битовой матрицей, либо пиктограммой, либо метафайлом. Например:
Imagel.Canvas.Draw (10, 10, Image2.Picture.Bitmap);
Таким образом, в координаты 10, 10 канвы картинки image1 будет занесен рисунок из канвы картинки Image2.
Метод DrawFocusRect предназначен для рисования прямоугольника с помощью булевой операции XOR. То есть повторное рисование такого же прямоугольника на том же месте удалит этот прямоугольник. Пример:
Imagel.Canvas.DrawFocusRect (Rect (0,0,30,30);
Метод Ellipse служит для рисования окружности или эллипса. Параметры - точки (X1, YI) и (X2, Y2) определяют прямоугольник, в который вписан эллипс.
Метод Error вызывается при необходимости генерации исключения при работе с объектом типа TList. Вызов данного метода дает лучший результат по сравнению с командой Raise. Примером вызова этого метода может служить следующая строка:
List.Error ("Ошибка в элементе %и списка List', I);
Выполнение данной строки вызовет сообщение об ошибке в какой-либо строке списка.
Метод Exchange предназначен для обмена местами двух элементов списка. Позиции этих двух элементов задаются параметрами index1 и index2.
Примечание
Не используйте метод Exchange для отсортированных списков - это может нарушить упорядоченность списков.
Метод Expand служит для увеличения емкости списка типа TList. Вызов данного метода приводит к выделению дополнительной памяти для быстрого добавления новых элементов списка. В случае когда при вызове данного метода список не заполнен, то его емкость не изменяется, иначе - увеличивается.
Метод FiliRect применяется для заполнения указанного прямоугольника канвы цветом, определенным значением свойства Brush. Например, приведенный ниже код заполняет всю область канвы компонента image1 фоновым цветом, определенным свойством Brush:
with Image1.Canvas do FiliRect (Rect (0, 0, Width, Height));
Метод FindNextControl применяется для определения следующего за указанным в параметре curControl дочернего оконного компонента, соответствующего последовательности табуляции. Если в качестве параметра выступает не дочерний элемент данного оконного компонента, то метод возвращает первый в последовательности табуляции компонент. Второй параметр GoForward определяет направление- поиска компонента. Если этот параметр имеет значение true, то ищется следующий компонент, иначе - предыдущий. Еще один параметр checkTabstop - указывает, будут ли при поиске учитываться компоненты, в которых свойство Tabstop установлено в false. Если значение данного параметра равно true, то такие компоненты не учитываются, иначе - учитываются. Последний параметр checkParent применяется для того, чтобы указывать, учитывать ли при поиске только те компоненты, которые являются прямыми потомками данного оконного компонента. Если этот параметр равен false, то просматриваются все компоненты, иначе - только прямые потомки.
Метод First возвращает первый элемент списка типа TList.
Метод FloodFill применяется для закрашивания замкнутой области канвы произвольной формы каким-либо цветом. В качестве параметров данного метода выступают: начальная точка закрашивания, цвет и стиль заполнения. Начальная точка закрашивания (х, у) должна находиться внутри закрашиваемой области. Два других параметра применяются для задания границы этой области. Параметр color служит для указания цвета, который является границей закрашивания. Параметр Fillstyle может иметь два значения. Если он равен fsSurface, то происходит закрашивание именно той области, которая окрашена цветом Color, а на других цветах закрашивание не происходит. Если же параметр Fiiistyie имеет значение fsBorder, то заполняется область, в которой могут присутствовать любые цвета, кроме color, который является цветом границы закрашивания.
Метод Focused используется для определения, является ли в настоящий момент времени оконный компонент активным. Метод возвращает значение true, если фокус принадлежит данному оконному компоненту, иначе - false.
Метод FrameRect предназначен для рисования на канве прямоугольной рамки. Данный метод использует установки текущей кисти (Brush). Толщина рамки равна одному пикселу. Внутренняя часть рамки не заполняется никаким цветом. В качестве примера, приведем код, который рисует на канве компонента imagei красную прямоугольную рамку:
with Imagei.Canvas do begin
Brush.Color := clRed;
FrameRect ( Rect (10,10,150,100));
end;
Метод Free применяется для вызова деструктора объекта. Этот метод проверяет, не была ли уже ранее высвобождена память, предназначенная для данного объекта, после чего вызывает метод Destroy.
Метод GetTabOrderList предназначен для построения списка типа TList дочерних оконных компонентов, расположенных в последовательности табуляции. Свойство Tabstop во внимание не принимается. В список входят как прямые, так и косвенные потомки данного оконного компонента.
Метод HandleAl located предназначен для проверки наличия дескриптора окна у данного компонента. В случае, когда дескриптор окна есть, метод возвращает значение true. Данный метод удобно применять, если нет необходимости создавать дескриптор окна компоненту, у которого его нет. Непосредственная проверка свойства Handle компонента приводит к созданию дескриптора окна.
Метод HandleNeeded применяется для создания дескриптора окна для компонента, у которого его не было. При работе метод вызывает сначала метод createHandle у родительского компонента, а затем создает дескриптор для данного компонента.
Метод Hide применяется для.того, чтобы сделать компонент невидимым. Вызов этого метода равносилен команде Component.Visible := false;
Если данный компонент является оконным и содержит в себе другие компоненты, то эти компоненты также становятся невидимыми.
Примечание
Обратите внимание на тот факт, что хотя компонент является невидимым, все его свойства и методы остаются доступными.
Метод indexof -применяется для определения индекса первого вхождения в компонент типа TList данного элемента. Если такого элемента в списке нет, метод возвращает значение -1.
Метод insert предназначен для вставки нового элемента списка в заданную позицию. Единственный параметр данного метода index показывает, в какую именно позицию будет вставлен новый элемент списка. При вставке нового элемента все последующие элементы сдвигаются (их индексы увеличиваются на единицу). В случае, когда происходит попытка вставить новый элемент в отсортированный список, генерируется исключение EListError. Тогда лучше использовать метод Add.
Метод invalidate применяется для полной перерисовки компонента, когда с компонентом произошли какие-либо визуальные изменения.
Метод Last возвращает значение, равное последнему указателю списка типа TList, равное значению Count -i.
Метод LineTo применяется для рисования на канве объекта прямой линии. Начало линии совпадает с текущим значением координат пера (penPos) и заканчивающейся в точке с координатами (х, Y), за исключением самой точки, которые передаются в качестве параметров метода.
Метод LoadFromClipboardFormat применяется для загрузки изображения в графический компонент из буфера обмена в формате Windows Clipboard.
Метод LoadFromFiie предназначен для загрузки изображения в графический компонент из файла, задаваемого параметром FileName. Если данный графический файл по каким-либо причинам не может быть загружен (несоответствие типов, незарегистрированный графический формат файла), то генерируется, исключение EInvalidGraphic.
Метод LoadFromstream позволяет загружать графическое изображение из потока, задаваемого параметром stream. Данный метод может использоваться при загрузке, например, графических полей в наборе данных из объекта типа TBlobStream.
Метод Lock применяется для блокировки канвы компонента и запрету рисования на ней из других потоков многопоточного приложения. Обратный результат достигается при помощи метода unlock. При многократном вызове метода Lock будет увеличиваться свойство Lockcount, в котором фиксируется количество блокировок. Канва будет недоступной из других потоков, пока не снимется последняя блокировка. Если вы не хотите использовать многократную блокировку, можно воспользоваться методом TryLock. После блокирования канвы общая производительность приложения может существенно снизиться.
Метод Mask применяется для преобразования цветного изображения в черно-белую маску. В результате замены цвет Transparentcoior переходит в белый, а все остальные цвета в черный.
Метод Move предназначен для перемещения элемента списка, находящегося в позиции, задаваемой параметром Curindex в позицию, задаваемую параметром Newlndex.
Метод MoveTo применяется для изменения текущей позиции пера (Penpos) в заданную параметрами (х, у). При перемещении пера на канве ничего не рисуется. Данный метод аналогичен прямой установке координат пера в свойстве penPos.
Метод OpenBit предназначен для возврата индекса первого элемента массива типа TBits, имеющего значение false.
Метод Pack предназначен для удаления из списка типа TList всех элементов, значение которых равно nil. После удаления происходит переиндексация всех элементов списка.
Метод Pie рисует замкнутый сегмент окружности или эллипса. Параметры данного метода аналогичны параметрам метода Arc. В результате выполнения метода pie может быть рисунок, похожий на рис. 2.5.
Рис. 2.5. Результат выполнения метода Pie
Метод Play предназначен для воспроизведения заданной последовательности кадров видеоклипа типа AVI. Параметры данного метода: FromFrame, ToFrame и count. Первый параметр задает начальный кадр клипа, второй - конечный кадр клипа, а третий - количество повторений показа данных кадров. В случае, когда count равен нулю, клип будет повторяться до тех пор, пока не будет выполнен метод stop.
Метод Polygon рисует на канве многоугольник по заданному множеству точек, определенных массивом Points, причем первая точка соединяется с последней, после чего многоугольник закрашивается цветом, определенным свойством кисти Brush. Например:
Imagel.Canvas.Polygon ( [ Point (10, 10), Point (30,10),
Point (130, 30), Point (240, 120) ]) ;
Вышеприведенный код рисует на канве компонента image1 закрашенный четырехугольник, координаты которого заданы непосредственно.
Метод PolyLine рисует на канве незамкнутый многоугольник, т. е. кусочно-линейную кривую. Основное отличие этого метода от метода Polygon заключается в том, что PolyLine не соединяет первую и последнюю точки массива Points.
Метод Rectangle предназначен для рисования на канве прямоугольника. В качестве параметров метода передаются координаты двух точек: верхнего левого и правого нижнего углов прямоугольника. Прямоугольник рисуется текущим пером Реп и закрашивается цветом, определенным в свойстве Brush.
Примечание
Для рисования прямоугольника без рамки используйте метод FillRect, а для рисования прямоугольника со скругленными углами - метод RoundRect. Чтобы нарисовать незакрашенный прямоугольник, вызовите метод FrameRect.
Метод Refresh служит для немедленной перерисовки изображения компонента. Данный метод вызывает метод Repaint.
Метод Remove предназначен для удаления элемента со значением равным параметру item из списка типа TList. Данный метод удобно использовать, когда неизвестен индекс удаляемого элемента, а известно лишь его значение. В противном случае можно применять метод Delete.
Метод Repaint применяется для перерисовки изображения компонента. Данный метод можно применять вместо Refresh. Метод Repaint вызывает сначала метод invalidate, а затем update.
Метод RoundRect служит для рисования прямоугольника со скругленными углами. Прямоугольник закрашивается цветом, установленным в свойстве Brush. Два параметра (X1, Y1) и (Х2, Y2) задают координаты углов прямоугольника (как в методе Rectangle). Два других параметра X3 и YЗ задают эллипс с шириной X3 и высотой XЗ. Углы прямоугольника скругляются с помощью данного эллипса.
Метод saveToclipboardFormat применяется для создания копии изображения в формате Windows Clipboard и передачи его в буфер обмена Windows. Однако записать изображение в буфер обмена можно гораздо проще: воспользовавшись методом Assign.
Метод saveToFile сохраняет графическое изображение в файл, задаваемый параметром FileName.
Метод SaveToStream сохраняет графическое изображение в потоке, задаваемом параметром stream.
Метод ScreenTociient служит для преобразования координат экранной области в координаты клиентской части данного компонента.
Метод ScroilBy предназначен для сдвига содержимого данного оконного компонента (включая все его дочерние компоненты). Два параметра Deltax и DeltaY, задают, соответственно, сдвиг по горизонтали и по вертикали. Положительные значения задают сдвиг вправо и вниз, отрицательные - влево и вверх. Например, нижеприведенный код сдвигает содержимое формы Formi на 10 пикселов влево:
Forml.ScroilBy (-10, 0);
Метод SelectFirst предназначен для передачи фокуса компоненту, находящемуся первым в последовательности табуляции. Например, код Forml.SeiectFirst; выберет первый находящийся в последовательности табуляции компонент для формы Forml.
Метод SelectNext передает фокус следующему компоненту, расположенному в последовательности табуляции после указанного в параметре curControl. Второй параметр GoForward определяет направление поиска компонента: если он равен true, то вперед, иначе - назад. Последний параметр checkTabstop определяет, должен ли следующий компонент иметь значение true свойства TabStop.
Метод sendCancelMode предназначен для прекращения модального состояния данного компонента. Модальным состоянием называется такое состояние компонента, когда он ожидает от пользователя какого-либо действия, причем ни один другой компонент приложения не доступен. Вызов данного метода прекращает ожидание действия со стороны пользователя.
Метод sendToBack перемещает указанный компонент в самый конец Z-noследовательности. Таким образом, компонент может стать невидим из-за его перекрытия другими компонентами. Если данный компонент до вызова метода имел фокус, то он его потеряет после выполнения метода.
Метод SetBounds предназначен для одновременного изменения четырех свойств компонента: Left, Top, width и Height. Параметры, соответственно, - ALeft, ATop, AWidth и AHeight. Вызов данного метода позволяет сделать код приложения более компактным. Кроме того, перерисовка компонента произойдет здесь всего один раз, а не четыре, если бы вы изменяли последовательно эти четыре свойства.
Метод SetchiidOrder применяется для изменения позиции компонента, задаваемого параметром child, в списке дочерних компонентов данного оконного компонента. Компоненту присваивается новый индекс, задаваемый параметром order: Пример:
Forral.SetChildOrder (Buttonl, 5);
Таким образом, кнопка Buttonl будет расположена в последовательности дочерних элементов формы Form1 на шестом месте (нумерация начинается с нуля).
Метод SetFocus служит для передачи фокуса данному компоненту. Наример:
Memol.SetFocus;
Метод setzorder предназначен для перемещения данного компонента в начало или конец Z-последовательности. Если параметр TopMost имеет значение true, то компонент перемещается в начало Z-последовательности, иначе в конец.
Метод show используется для того, чтобы сделать видимым невидимый компонент. То есть метод равносилен установке свойства visible данного компонента В true.Метод sort применяется для быстрой сортировки элементов списка типа TList.
Метод stretchDraw применяется для рисования графического изображения, содержащегося в компоненте, указанном параметром Graphic в прямоугольную область канвы, указанную параметром Rect, растягивая или сжимая изображение под размер данной области. Например, нижеприведенный код уменьшает изображение, находящееся в компоненте image2 и имеющее размер больше чем 20x20 точек до размера 20x20 точек, и помещает его в компонент Image 1:
Imagel.Canvas.StretchDraw ( Rect (0,0,19,19), Image2.Picture.Bitmap);
Метод TextExtent применяется для получения и длины, и ширины текста Text, который предполагается вывести на канву данного компонента, используя текущий шрифт. Возвращаемое методом значение имеет тип TSize.
Метод TextHeight возвращает значение, равное высоте текста Text, который предполагается вывести на канву с использованием текущего шрифта.
Метод Textout предназначен для вывода строки текста, задаваемой параметром Text на канву в позицию с координатами (х, Y). Например: Imagel.Canvas.TextOut (10, 100, 'Мне нравится Delphi'); выведет строку "Мне нравится Delphi" на канву компонента image1, начиная с координаты (10, 100).
Метод TextRect похож на метод Textout за исключением того, что текст, выходящий за границы определенной прямоугольной области, урезается.
Метод Textwidth предназначен для определения длины текста Text в пикселах, который предполагается вывести на канву компонента текущим шрифтом.
Метод TryLock блокирует канву компонента, не позволяя другим потокам многопоточного приложения рисовать на ней. Данный метод возвращает значение true и устанавливает свойство LockCount в единицу, если канва не была ранее блокирована. Если канва была ранее блокирована, то метод возвращает false и не увеличивает значение свойства LockCount.
Метод unlock предназначен для разблокирования канвы компонента. Каждый вызов метода Unlock уменьшает значение свойства LockCount на единицу.
Метод update предназначен для немедленной перерисовки компонента, не ожидая завершения каких-либо других процессов.