Помощь - Поиск - Пользователи - Календарь
Полная версия: Графический редактор
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
vadim(b)
добрый вечер.
Программа прикреплена
такие элементы как линия и квадрат это понятно это элементарные элементы, а вот сделать карандаш т.е чтобы за произвольным движением мыши тянулась такая же линия мне не ясно. если не трудно взгляните на код он должен быть понятен и пожалуйста подскажите как должно всё отрисовываться
klem4
Можно попробовать в лоб обрабатывать 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;
мисс_граффити
а если так?
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
Логичнее будет проверять Правую/Левую кнопку мыши, соответственно для рисования основным или фоновым цветом.
Здесь уже отвечал.
мисс_граффити
Что значит "логичнее"?
В задании на это указаний нет.
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.
Better Kind
Цитата(мисс_граффити @ 12.11.2007 21:00) *
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.

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

Полагаю речь идет о подобии на ms paint => функции рассматриваются аналогичные.
Собственно слово за топикстартером.
volvo
Цитата
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!
Нет, скидок делать не будем... И упаси Бог додумывать за кого-то...

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

Цитата
Собственно слово за топикстартером.
Собственно, Вы что, запретили всем остальным отвечать? Извиняйте, что помешал... dry.gif
мисс_граффити
Цитата(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
Цитата(мисс_граффити @ 13.11.2007 21:31) *
а почему бы и нет?

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