АкушерствоАнатомияАнестезиологияВакцинопрофилактикаВалеологияВетеринарияГигиенаЗаболеванияИммунологияКардиологияНеврологияНефрологияОнкологияОториноларингологияОфтальмологияПаразитологияПедиатрияПервая помощьПсихиатрияПульмонологияРеанимацияРевматологияСтоматологияТерапияТоксикологияТравматологияУрологияФармакологияФармацевтикаФизиотерапияФтизиатрияХирургияЭндокринологияЭпидемиология

Листинг 10.4. Вычерчивание замкнутого контура (звезды) в точке нажатия кнопки мыши

Прочитайте:
  1. Бартомье-Михельсона: при пальпации правой подвздошной области в точке Мак-Бернея в положении больного на левом боку.
  2. В зависимости от этого выделяют 4 способа циркуляции (дыхательных контура).
  3. Кнопки инструментальной панели геометрических построений
  4. Кнопки инструментальной панели измерений
  5. Кнопки инструментальной панели параметризации
  6. Кнопки инструментальной панели размеров и технологических обозначений
  7. Кнопки инструментальных панелей
  8. Команды и кнопки инструментальной панели геометрии.
  9. Листинг 10.1. Стили заполнения областей
  10. Листинг 10.10. Летящий самолет

unit Stars_; interface

Uses

Windows, Messages, SysUtils, Variants, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

Type

TForm1 = class (TForm)

procedure FormMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

Private

{ Private declarations }

Public

{ Public declarations }

end;

Var

Forml: TForml;

Implementation

f$R *.dfm}

// вычерчивает звезду

procedure StarLine(x0,y0,r: integer; Canvas: TCanvas);

// x0,y0 — координаты центра звезды

//r — радиус заезды

Var

р: array [1.. 11] of TPoint;

// массив координат лучей и впадин

a: integer; // угол между осью ОХ и прямой, соединяющей

// центр звезды и конец луча или впадину i: integer;

Begin

а:= 18; // строим от правого гор. луча

for i:=l to 10 do begin

if (i mod 2=0) then begin // впадина

p[i].x:= x0+Round(r/2*cos(a*pi/180));

p[i].y:=y0-Round(r/2*sin(a*pi/180));

End

Else

Begin // луч

[i].x:=x0+Round(r*cos (a*pi/180));

[i].y:=y0-Round(r*sin(a*pi/180));

end;

a:= a+36;

end;

p[ll].X:= p[l].X; // чтобы замкнуть контур звезды

Canvas. Polyline (р); // начертить звезду

end;

// нажатие кнопки мыши

procedure TForm1. FormMouseDown { Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

Begin

if Button = mbLeft // нажата левая кнопка?

then Form1. Canvas. Pen. Color: = clRed

else Form1. Canvas. Pen. Color:= clGreen;

StarLine(x, y, 30, Forml. Canvas);

end;

End.

Рис.10.5. Звезда


Дата добавления: 2015-09-18 | Просмотры: 501 | Нарушение авторских прав



1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |



При использовании материала ссылка на сайт medlec.org обязательна! (0.003 сек.)