Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Графический редактор

Автор: vadim(b) 9.06.2007 22:11

добрый вечер.
Программа прикреплена
такие элементы как линия и квадрат это понятно это элементарные элементы, а вот сделать карандаш т.е чтобы за произвольным движением мыши тянулась такая же линия мне не ясно. если не трудно взгляните на код он должен быть понятен и пожалуйста подскажите как должно всё отрисовываться



Прикрепленные файлы
Прикрепленный файл  grafRedactor.rar ( 4.64 килобайт ) Кол-во скачиваний: 199

Автор: klem4 10.06.2007 1:19

Можно попробовать в лоб обрабатывать onMouse (up/down/move)

Но результат не ахти ... чтобы рисовалось нормально надо мышкой медленно водить, как исправить пока не знаю ...

implementation
var
drawing: Boolean;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing := true;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing := false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drawing then Form1.Canvas.Ellipse(x, y, x + 3, y + 3);
end;

Автор: мисс_граффити 10.06.2007 1:45

а если так?

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drawing then
Canvas.LineTo(x,y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing:=true;
Canvas.MoveTo(x,y);
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing:=false;
end;

Автор: Better Kind 12.11.2007 23:03

Логичнее будет проверять Правую/Левую кнопку мыши, соответственно для рисования основным или фоновым цветом.
http://forum.pascal.net.ru/index.php?showtopic=20039&hl=

Автор: мисс_граффити 13.11.2007 1:00

Что значит "логичнее"?
В задании на это указаний нет.
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.

Автор: Better Kind 13.11.2007 16:16

Цитата(мисс_граффити @ 12.11.2007 21:00) *
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.

мадам знает толк в извращениях..
"аникей" - средней тоже рисовать будете?))
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!

Полагаю речь идет о подобии на ms paint => функции рассматриваются аналогичные.
Собственно слово за топикстартером.

Автор: volvo 13.11.2007 17:29

Цитата
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!
Нет, скидок делать не будем... И упаси Бог додумывать за кого-то...

Раньше у меня была подпись: "Чтобы получить ответ - надо задать правильный вопрос". Какой вопрос задаешь - такой ответ получаешь. Телепатов искать в Гугле (по личному опыту: то что отвечающий додумывает - неправильно в 95% случаев). А что касаемо отсутствия опыта - если за него ВСЕ ВРЕМЯ додумывать - опыт не придет НИКОГДА.

Цитата
Собственно слово за топикстартером.
Собственно, Вы что, запретили всем остальным отвечать? Извиняйте, что помешал... dry.gif

Автор: мисс_граффити 14.11.2007 1:31

Цитата(Better Kind @ 13.11.2007 12:16) *

мадам знает толк в извращениях..

мадмуазель.
по-моему, в моем нике это четко отражено.

Цитата(Better Kind @ 13.11.2007 12:16) *
"аникей" - средней тоже рисовать будете?))

а почему бы и нет?

Цитата(Better Kind @ 13.11.2007 12:16) *
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!

зашибись...
Давайте еще за заказчика ТЗ формулировать. Он напишет, что хочет видеть в программном продукте, а мы перечеркнем половину, допишем совсем другое и обозначим "скидкой на его неопытность". Как думаете, заплатит? Хотел базу данных фитнесс-клуба - получил программу решения нелинейных уравнений. Но это ведь ЛУЧШЕ!

Цитата(Better Kind @ 13.11.2007 12:16) *
Полагаю речь идет о подобии на ms paint => функции рассматриваются аналогичные.

я бы не рискнула делать ТАКИЕ выводы.

Автор: Better Kind 14.11.2007 1:38

Цитата(мисс_граффити @ 13.11.2007 21:31) *
а почему бы и нет?

Очень странно, что к трем тысячам сообщений у вас до сих пор такие мысли.
Я все сказал, что хотел.