Форум «Всё о Паскале» _ Делфи _ Рисование на Canvas при нажатии левой кнопки мыши.
Автор: Виталий 12.11.2007 2:04
Подскажите,пожалуйста, какое событие надо обрабатывать и каким образом для того, чтобы рисование на Canvas происходило только при нажатии левой кнопки мыши(если можете то приведите код).
Автор: мисс_граффити 12.11.2007 3:12
в поиск... вот, например: http://forum.pascal.net.ru/index.php?showtopic=18133&hl=%E3%F0%E0%F4%E8%F7%E5%F1%EA%E8%E9
Автор: Better Kind 12.11.2007 23:00
Цитата(мисс_граффити @ 11.11.2007 23:12)
в поиск... вот, например:
Автор хотел узнать про нажатие левой кнопки. Вот код: ]
Код
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;
ты вдруг отжал кнопку? А ты что, проверил, что отпущена ИМЕННО левая? Может, я в процессе рисования нажал на правую кнопку, чтоб произвести какие-то доп. действия (скажем, отобразить текущие координаты мыши в Caption-е формы), а потом ее (правую же) отпустил. По какому праву это прерывает рисование?
Автор: Better Kind 12.11.2007 23:42
Цитата(volvo @ 12.11.2007 19:25)
Ну, ты уж если взялся что-то делать - то делай как положено, а не "через пень - колоду"... С какой радости:
ты вдруг отжал кнопку? А ты что, проверил, что отпущена ИМЕННО левая? Может, я в процессе рисования нажал на правую кнопку, чтоб произвести какие-то доп. действия (скажем, отобразить текущие координаты мыши в Caption-е формы), а потом ее (правую же) отпустил. По какому праву это прерывает рисование?
Принимается замечание. Хотя по поводу доп. действий и манипуляций правой кнопкой - не представляю себе этого. Если правая кнопка не связана с меню, тогда на левой кнопке "висит" основной цвет, на правой - фоновый(дополнительный). При отпускании правой и левой кнопки логичнее прерывать рисование без доп. проверок.