Рисование на Canvas при нажатии левой кнопки мыши. |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Рисование на Canvas при нажатии левой кнопки мыши. |
Виталий |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Виталий Репутация: 0 |
Подскажите,пожалуйста, какое событие надо обрабатывать и каким образом для того, чтобы рисование на Canvas происходило только при нажатии левой кнопки мыши(если можете то приведите код).
|
мисс_граффити |
Сообщение
#2
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
в поиск...
вот, например: Графический редактор -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Better Kind |
Сообщение
#3
|
Пионер Группа: Пользователи Сообщений: 52 Пол: Мужской Реальное имя: Александр Репутация: 1 |
в поиск... вот, например: Автор хотел узнать про нажатие левой кнопки. Вот код: ] Код var Form1: TForm1; down:boolean=false; //проверка нажатия implementation {$R *.dfm} procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin {если нажата левая кнопка, то переводим указатель в позицию курсора и меняем значение переменной DOWN} if button=MBLeft then begin canvas.MoveTo(X,Y); down:=true; end; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin {если левая кнопка нажата} if down then canvas.LineTo(X,Y); end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin down:=false; {отжали кнопку} end; -------------------- With best regards, Better Kind
|
volvo |
Сообщение
#4
|
Гость |
Ну, ты уж если взялся что-то делать - то делай как положено, а не "через пень - колоду"... С какой радости:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; ты вдруг отжал кнопку? А ты что, проверил, что отпущена ИМЕННО левая? Может, я в процессе рисования нажал на правую кнопку, чтоб произвести какие-то доп. действия (скажем, отобразить текущие координаты мыши в Caption-е формы), а потом ее (правую же) отпустил. По какому праву это прерывает рисование? |
Better Kind |
Сообщение
#5
|
Пионер Группа: Пользователи Сообщений: 52 Пол: Мужской Реальное имя: Александр Репутация: 1 |
Ну, ты уж если взялся что-то делать - то делай как положено, а не "через пень - колоду"... С какой радости: procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; ты вдруг отжал кнопку? А ты что, проверил, что отпущена ИМЕННО левая? Может, я в процессе рисования нажал на правую кнопку, чтоб произвести какие-то доп. действия (скажем, отобразить текущие координаты мыши в Caption-е формы), а потом ее (правую же) отпустил. По какому праву это прерывает рисование? Принимается замечание. Хотя по поводу доп. действий и манипуляций правой кнопкой - не представляю себе этого. Если правая кнопка не связана с меню, тогда на левой кнопке "висит" основной цвет, на правой - фоновый(дополнительный). При отпускании правой и левой кнопки логичнее прерывать рисование без доп. проверок. если только настаиваете: Код if button=MBLeft then down:=false; Сообщение отредактировано: Better Kind - -------------------- With best regards, Better Kind
|
Текстовая версия | 4.05.2024 15:00 |