Свойства, методы, события, типы, классы______________________1009

ReplaceDockedControl___________________________________

Встраивает компонент на место другого уже встроенного
Класс TControl

Определение

enum TAlign (aINone,alTop,alBottom,alLeft,alRight,alClient!;

bool _fastcall ReplaceDockedControl(TControl* Control,

TWinControl* NewDockSite, TControl* DropControl, TAlign ControlSide);

Описание

Вызов метода ReplaceDockedControl приводит к встариванию данного компо-
нента на место другого уже встроенного, указанного параметром Control. При этом
вытесненный компонент перемещается в другой контейнер NewDockSite. Пара-
метр DropControl конкретизирует место втраивания вытесненного компонента в
новом контейнере. Например, если NewDockSite — компонент TPageControl, то
параметр DropControl должен указывать страницу размещения. DropControl мо-
жет указываться равным NULL. Параметр ControlSide определяет выравнивание
вытесненного компонента в DropControl или в NewDockSite (если DropControl =
NULL). Это значение можно получить вызовом метода GetDockEdge контейнера.

Метод ReplaceDockedControl производит те же самые операции, что и метод
ManualDock, примененный к Control с теми же параметрами NewDockSite, Drop-
Control и ControlSide, плюс метод ManualDock, примененный к данному компо-
ненту и размещающий его в позиции компонента Control. Но, метод ReplaceDoc-
kedControl компактнее, более эффективен и предотвращает неприятное мерцание
при перестроении компонентов.

RoundRect

Рисует на канве прямоугольную рамку со скругленными углами
Класс TCanvas

Прототип

void _fastcall RoundRect(int XI, int Yl, int X2, int Y2, int X3,
int Y3) ;

Описание

Метод RoundRect рисует на канве прямоугольную рамку со скругленными угла-
ми, используя текущие установки пера Pen и заполняя площадь фигуры текущей ки-
стью Brush. Рамка определяется прямоугольником с координатами углов (XI,Yl) и
(X2,Y2). Углы скругляются с помощью эллипсов с шириной X3 и высотой Y3.

Если задать ширину эллипса X3 S X2 — XI, то верхняя и нижняя границы
рамки окажутся целиком скругленными (без прямолинейной части). Если Y3 >
Y2 — Yl, то же самое произойдет с левой и правой границами рамки. Если же оба
измерения эллипса не меньше размеров рамки, то будет рисоваться просто эллипс.
Но, конечно, для рисования эллипса лучше использовать метод Ellipse. Если один
из размеров эллипса задать нулевым, то будет рисоваться прямоугольная рамка.
Но, конечно, для такой рамки лучше использовать метод Rectangle.

Пример

Следующие операторы вызывают изображение, показанное на приведенном
ниже рисунке: