Здравствуйте, мне необходимо нарисовать многоугольник в дельфи, но не так, чтобы он рисовался по нажатию кнопки, а так, чтобы левой кнопкой мыши я мог нажимать и ставить соединяющиеся точки, а по нажатии правой кнопки мыши рисование заканчивалось. Весь интернет перерыл уже, но не смог найти то, что нужно мне...(
по событию onmouse записать координаты в список, или строку (не в массив, так как количество заранее неизвестно)
или объявить большой массив и огорчать пользователя сообщением что можно не более.
"а по нажатии правой кнопки мыши рисование заканчивалось."
не заканчивалось, а а рисовать линии от i к i+1. точке
полезно читать книжки просто, чтобы запомнить русский язык.
procedure fn;
begin
with image1.Canvas do
begin
ellipse(x-2,y-2,x+2,y+2);
end;
end;
begin
if mbLeft in [Button] then
begin
setlength(a,high(a)+2);
a[high(a)]:=point(x,y);
fn;
end;
if mbRight in [Button] then
begin
setlength(a,high(a)+2);
a[high(a)]:=point(x,y);
fn;
image1.Canvas.Polygon(a);/
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with image1.canvas do
begin
brush.Color:=clwhite;
rectangle(cliprect);
pen.Color:=clblue;
pen.Width:=4;
brush.Color:=clred;
end;
end;
Delphi - это не программа по мечтанию, а инструмент для программирования. Сам берешь и программируешь нужный функционал. Примерно за 2-24 часа сделаешь и получишь незабываемый опыт.