Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
42<br />
Примером массива является свойство Cells компонента StringGrid, которым<br />
задается содержание ячейки, адресуемой индексами. Массивами описывают<br />
также отдельные панели строки состояния и строки списков.<br />
void Arrays4 () {<br />
MyForm–>StringGrid1–>Cols[1]–>Add (“0-ая ячейка 1-го столбца”);<br />
MyForm–>StringGrid1–>Cols[1]–>Add (“1-ая ячейка 1-го столбца”);<br />
MyForm–>StringGrid1–>Cols[1]–>Append (“2-ая ячейка 1-го столбца”);<br />
MyForm–>StringGrid1–>Cells[2][3] = “Ячейка 2-го столбца 3-ей строки”;<br />
MyForm–>StatusBar1–>Panels–>Items[0]–>Text = "Левая панель";<br />
MyForm–>ListBox1–>Items–>Strings[0] = "Нулевая строка списка";<br />
}<br />
Массивы эффективно используются в графике, <strong>на</strong>пример, для рисования<br />
геометрических фигур по канве формы:<br />
void __fastcall TForm1::FormPaint (TObject *Sender) {<br />
TPoint v[5];<br />
int cw = ClientWidth, ch = ClientHeight;<br />
v[0] = Point (0, cw/10);<br />
v[1] = Point (cw/4, cw/10);<br />
v[2] = Point (cw/2, cw/4);<br />
v[3] = Point (cw/4, cw/4);<br />
v[4] = Point (0, cw/10);<br />
Canvas–>Polyline (v, 4);<br />
v[0] = Point (cw/2, ch/2);<br />
v[1] = Point (cw/2, ch);<br />
v[2] = Point (cw,ch);<br />
Canvas–>Polygon (v,2);<br />
Canvas–>Rectangle (0, ch/2, cw/2, ch);<br />
Canvas–>RoundRect (0, ch/2, cw/2, ch, cw/10, ch/10);<br />
Canvas–>Ellipse (0, ch/2, cw/2, ch);<br />
}<br />
Свойство Pixels типа TColor у компонентов Canvas можно использовать<br />
как двухмерный массив цвета точки, коорди<strong>на</strong>ты которой отсчитываются<br />
от левого верхнего угла изображения.<br />
void _ _fastcall TForm1::FormMouseDown (TObject *Sender,<br />
TMouseButton Button, TShiftState Shift, int X, int Y) {<br />
Label1–>Caption = X; Label2–>Caption = Y;<br />
Label3–>Caption = Canvas–>Pixels[X][Y];<br />
Canvas–>Pixels[X][Y] = clWhite;<br />
}