четверг, 8 августа 2019 г.

Turbo Delphi 06

1. Пример использования компонента Shape.
1) Создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Оформите внешний вид окна: задайте заголовок «Графические фигуры» (Caption), размеры (Width, Height), положение (Top, Left), стиль границ (BorderStyle) и кнопки заголовка (BorderIcons) формы.
4) Разместите на форме:
- графическая фигура – компонент TShape (вкладка Additional);
- две надписи – компонент TLabel (вкладка Standard);
- список выбора цвета – компонент TColorListBox (вкладка Additional);
- комбинированный список выбора цвета – компонент TColorBox (вкладка Additional);
- группу зависимых переключателей – компонент TRadioGroup (вкладка Standard);
- кнопку – компонент TButton (вкладка Standard).
Расположите компоненты так, чтобы получить форму следующего вида:
5) Задайте соответствующий текст в свойстве Caption надписей (Label): «Цвет кисти (Brush):» и «Цвет карандаша (Pen):».
6) Задайте заголовок группы зависимых переключателей (RadioGroup) Caption=”Фигура”. В свойстве Items введите заголовки переключателей: Circle, Ellipse, Rectangle, RoundRect, RoundSquare, Square.
7) Создайте следующие обработчики событий для указанных компонент:
КомпонентСобытиеПроцедура обработчика
ButtonOnClickprocedure TForm1.Button1Click(Sender: TObject);
begin
Close
end;


ColorBoxOnChangeprocedure TForm1.ColorBox1Change(Sender: TObject);
begin
Shape1.Pen.Color := ColorBox1.Selected;
end;


ColorListBoxOnClickprocedure TForm1.ColorListBox1Click(Sender: TObject);
begin
Shape1.Brush.Color := ColorListBox1.Selected;
end;


RadioGroupOnClickprocedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: Shape1.Shape := stCircle;
1: Shape1.Shape := stEllipse;
2: Shape1.Shape := stRectangle;
3: Shape1.Shape := stRoundRect;
4: Shape1.Shape := stRoundSquare;
5: Shape1.Shape := stSquare;
end;
end;










8) Сохраните проект и запустите программу на исполнение.
2. Пример использования свойства Pixels класса Canvas.
1) Создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Оформите внешний вид окна: задайте заголовок «Графические фигуры» (Caption), размеры (Width, Height) и положение (Top, Left) формы.
4) Разместите на форме две кнопки – компонент TButton (вкладка Standard).
Расположите компоненты так, чтобы получить форму следующего вида:
5) Задайте соответствующие рисунку заголовки формы и кнопок (свойство Caption).
6) Для кнопки с заголовком «Выход» создайте обработчик OnClick:
procedure TForm1.Button2Click(Sender: TObject);
begin
Close
end;
7) Для кнопки с заголовком «Рисовать» создайте обработчик OnClick:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: longint;
begin
Button1.Enabled := False;
with Canvas do
for i := 1 to Width do
begin
Application.ProcessMessages;
for j := 1 to Height do
Pixels[i,j] := i*j;
end;
Button1.Enabled := True;
end;
8) Сохраните проект и запустите программу на исполнение.
3. Пример использования компонента панель для рисования TPaintBox.
1) Создайте папку под новый проект.
2) Создайте новый проект и сохраните его в созданную папку.
3) Разместите на форме 2 панели Panel (вкладка Standard) и Splitter (вкладка Additional). Очистите свойства Caption панелей.
4) Для Panel2 задайте свойству Align= alRight, для Splitter1 также задайте свойству Align=alRight, для Panel1 задайте свойству Align=alClient. Это позволит при изменении размера окна автоматически изменять размеры панелей, при этом Panel2 всегда остается у правого края, а Panel1 будет занимать всю оставшуюся рабочую поверхность. Splitter1 позволит изменять пользователю соотношение размеров панелей.
5) Поместить на Panel1 компонент PaintBox (вкладка System) палитры компонент. Компонент PaintBox не может показывать пользователю свои границы. Поэтому и следует поместить его внутрь панели и выровнять его по границе этой панели – появится рамка вокруг окна для рисования. После размещения компонента PaintBox установите для него свойство Align=alClient.
6) Для возможности закрытия программы поместите на Panel2 графическую кнопку BitBtn (вкладка Additional) и установите для нее соответствующие свойства: Kind=bkClose, Caption=”Закрыть”, Anchors – akLeft= True, akTop=False, akRight= False, akBottom=True.
Получим форму примерно следующего вида:
7) Для компонента PaintBox создайте следующие обработчики событий:
СобытиеОбработчик
MouseDownprocedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
isDown := True;
Form1.PaintBox1.Canvas.MoveTo(X,Y);
Form1.Panel1.Tag := X;
Form1.Panel2.Tag := Y;
end;






MouseMoveprocedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if isDown then
Form1.PaintBox1.Canvas.LineTo(X,Y);
end;




MouseUpprocedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
isDown := False;
end;




Переменная isDown должна быть описана как глобальная для всего модуля в интерфейсной части в разделе var следующим образом: isDown: boolean;.
8) Сохраните проект и запустите его на исполнение. Ознакомьтесь с работой программы.
9) Разместите дополнительно на форме компоненты, как показано на рисунке:
- три панели группировки – компонент TGroupBox (вкладка Standard);
- восемь зависимых переключателей – компонент TRadioButton (вкладка Standard);
- две кнопки – компонент TButton (вкладка Standard).
Компоненты RadioButton следует располагать в GroupBox.
10) Для кнопки "Очистка" задайте обработчик события onClick и впишите в него следующий код: PaintBox1.Refresh;
11) Для выбора цвета пера (карандаша) задайте обработчики события onClick для RadioButton1, RadioButton2 и RadioButton3, впишите в них соответственно следующий код:
- RadioButton1 – Form1.PaintBox1.Canvas.Pen.Color := clRed;
- RadioButton2 – Form1.PaintBox1.Canvas.Pen.Color := clGreen;
- RadioButton3 – Form1.PaintBox1.Canvas.Pen.Color := clNavy;
12) Для выбора цвета кисти задайте обработчики события onClick для RadioButton4, RadioButton5 и RadioButton6, впишите в них соответственно следующий код:
- RadioButton4 – Form1.PaintBox1.Canvas.Brush.Color := clRed;
- RadioButton5 – Form1.PaintBox1.Canvas.Brush.Color := clGreen;
- RadioButton6 – Form1.PaintBox1.Canvas.Brush.Color := clNavy;
13) Для кнопки "Рисовать" задайте обработчик события OnClick следующего вида:
procedure TForm1.Button2Click(Sender: TObject);
var
xn, yn, xt, yt, xprav, yprav, xlev, ylev: integer;
begin
Form1.PaintBox1.Canvas.Pen.Width := 2; // Установка толщины пера в пикселях
// Прямая
if Form1.RadioButton7.Checked then
begin
// Координаты начала прямой:
xn := 0;
yn := 0;
// Координаты конца прямой:
xt := Form1.PaintBox1.Width;
yt := Form1.PaintBox1.Height;
// Установка пера в точку начало рисования
Form1.PaintBox1.Canvas.MoveTo(xn,yn);
// Отрисовка линии от установленного положения до конечного
Form1.PaintBox1.Canvas.LineTo(xt,yt);
end;
// Прямоугольник
if Form1.RadioButton8.Checked then
begin
// Координаты левого верхнего угла:
xlev := 0;
ylev := round(Form1.PaintBox1.Height/2);
// Координаты правого нижнего угла:
xprav := round(Form1.PaintBox1.Width/2);
yprav := Form1.PaintBox1.Height;
// Отрисовка:
Form1.PaintBox1.Canvas.Rectangle(xlev,ylev,xprav,yprav);
end;
Form1.PaintBox1.Canvas.Pen.Width := 1; // Установка толщины пера в пикселях
end;
14) Сохраните ваш проект и запустите его на выполнение.

Комментариев нет:

Отправить комментарий