|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
отрезки и координаты
прошу прощения за тупой вопрос, но правила для новичков почитал и попробовал поискать по форуму, но, видимо не могу правильно задать вопрос:
мне нужно нарисовать два отрезка произвольно направленных (для начала хотя бы вертикальных и параллельных) а после соединить их отрезком произвольного направления (опять же для начала хотя бы перпендикулярно), причём место начала и конца отрезков выбирать кликами мыши (координаты мыши вроде захватывать умею) подскажите хотя бы какой модуль подключить, что бы создать форму для рисования этих отрезков с возможностью захвата координат начал и концов отрезков, спасибо математику оставляю себе, мне бы только имена функций... или операндов... или как там их... PS: я изучал Delphi давно в универе, поэтому знаю только основы (без графики), поэтому не пинайте больно. писал только простенькие математические программки с сохранением результатов в формате html-страниц |
#2
|
||||
|
||||
Цитата:
Пишу программы за еду. __________________ |
#3
|
||||
|
||||
NumLock, ну не издевайся так откровенно над новичком
who, в помощь тебе придёт свойство формы (или другого объекта, например, TImage) Canvas (хороший ман тут). Скорее всего, тебе понадобятся свойства Pen и Brush, а так же методы MoveTo, LineTo и Ellipse. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj Последний раз редактировалось PhoeniX, 18.06.2013 в 18:44. |
#4
|
||||
|
||||
Вот, наконец-то, я дождался ПРАВИЛЬНО ЗАДАННОГО вопроса. NumLock, я поддержу Феникса в справедливом порицании. ТС если не решишь проблемы, обратись завтра в ПС - опишу тебе алгоритм и прочее (на словах, кода не жди).
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
||||
|
||||
не вижу более простого способа:
Цитата:
Пишу программы за еду. __________________ |
#6
|
|||
|
|||
Цитата:
Num, читай внимательно, чел сказал, что мышку он схватывать умеет. Ему методы рисования нужны. Вот маленькая демка. Просто рисует красную линию по 2м кликам: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TForm1 = class(TForm) MainMenu1: TMainMenu; procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormCreate(Sender: TObject); private { Private declarations } FIsDrawing : Boolean; FP1, FP2 : TPoint; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin FIsDrawing := False; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin If FIsDrawing Then Begin FP2 := Point(X,Y); Canvas.Pen.Color := clRed; Canvas.MoveTo(FP1.X, FP1.Y); Canvas.LineTo(FP2.X, FP2.Y); FIsDrawing := False; End Else Begin FP1 := Point(X,Y); FIsDrawing := True; End; end; end. |
#7
|
||||
|
||||
полное решение задачи.
линии задаются и рисуются нажатием, перемещением и отпусканием левой мыши. сначала одна линия, затем вторая. после задания второй линии их центры соединяются третей линией. начать сначала клавиша Esc. начинал проект с File-New-Application ЗЫ. все, у меня место кончилось для вложений Пишу программы за еду. __________________ |
#8
|
|||
|
|||
всем спасибо почитаю мануал и буду пробовать в свободное время.
отдельное спасибо за примеры. Цитата:
ещё раз спасибо всем. |
#9
|
||||
|
||||
так то не мануал, а готовый рабочий исходник
в процедуре DoIt остается только механизм (расчет координат) соединения линий изменить на желаемый. Пишу программы за еду. __________________ |
#10
|
|||
|
|||
Цитата:
Цитата:
|