|
|
Определяет одну из стандартных графических фигур.
Создание объекта
shpObj=new TShape(Parent);
Собственные свойства
|
Свойство
| Тип
| Описание
|
Brush
| TBrush
| дескриптор кисти графической канвы
|
Pen
| TPen
| дескриптор пера графической канвы
|
Shape
| Enum
| тип графической фигуры (см. ниже)
|
Только чтение
| [TYPE]
| [DESC]
|
Canvas
| TCanvas
| дескриптор графической канвы
|
|
Свойство Shape
|
Значение
| Описание
|
stCircle
| круг
|
stEllipse
| эллипс
|
stRectangle
| прямоугольник
|
stRoundRect
| прямоугольник с плавными углами
|
stRoundSquare
| квадрат с плавными углами
|
stSquare
| квадрат
|
|
Стандартные свойства
Собственные методы
|
Метод
| Описание
|
StyleChanged
| перерисовывает текущую графическую фигуру
|
|
Стандартные методы
Стандартные события
// Главная форма frm=new TForm(); frm.Caption="JS+ - визуальный компонент TShape"; frm.Width =600; frm.Height=450;
// Строка состояния stb=new TStatusBar(frm); stb.SimpleText= " Выберите фигуру из списка или перемещайтесь по списку"+ " колесом мыши";
// ListBox lsb=new TListBox(frm); lsb.BorderStyle=bsSingle; lsb.SetBounds(10,10,frm.ClientWidth/5,stb.Top-20); lsb.Items.Add("Square"); lsb.Items.Add("RoundSquare"); lsb.Items.Add("Rectangle"); lsb.Items.Add("RoundRect"); lsb.Items.Add("Circle"); lsb.Items.Add("Ellipse"); lsb.OnMouseDown=lsb_MouseDown; lsb.OnMouseWheel=lsb_MouseWheel;
// Панель pnl=new TPanel(frm); pnl.BorderStyle=bsSingle; pnl.Color=lsb.Color; pnl.Left=lsb.Left+lsb.Width+10; pnl.Top =lsb.Top; pnl.Width =frm.ClientWidth-pnl.Left-10; pnl.Height=stb.Top-20;
// Shape shp=new TShape(pnl); shp.SetBounds(50,50,pnl.ClientWidth-100,pnl.ClientHeight-100); shp.Brush.Color=clNavy;
lsb.ItemIndex=0; lsb.SetFocus(); frm.ShowModal();
// Обработчик события OnMouseDown function lsb_MouseDown(lsb,btn,sft,x,y) { var lsb_Str="",i=lsb.ItemIndex;
lsb.Selected[i]=true;
if (btn!=mbLeft) return;
switch (shp.Shape=eval("st"+lsb.Items[i])) { case stRoundRect : lsb_Str=" с плавными углами"; case stRectangle : lsb_Str="прямоугольник"+lsb_Str; break; case stRoundSquare: lsb_Str=" с плавными углами"; case stSquare : lsb_Str="квадрат"+lsb_Str; break; case stEllipse : lsb_Str="эллипс"; break; case stCircle : lsb_Str="круг"; break; default: return; }
stb.SimpleText=" Выбран "+lsb_Str; }
// Обработчик события OnMouseWheel function lsb_MouseWheel(lsb,sft,dlt,pos,handled) { if (dlt>0) { if (lsb.ItemIndex>0) --lsb.ItemIndex; } else if (dlt<0) { if ((lsb.ItemIndex+1)<lsb.Count) ++lsb.ItemIndex; } else return;
lsb_MouseDown(lsb,mbLeft); }
Совместимость
C++ Builder/Delphi
|
JS+ | Руководство пользователя
|
|
|
|
|
|