![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
Виталий |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Реальное имя: Виталий Репутация: ![]() ![]() ![]() |
Подскажите,пожалуйста, какое событие надо обрабатывать и каким образом для того, чтобы рисование на Canvas происходило только при нажатии левой кнопки мыши(если можете то приведите код).
|
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
в поиск...
вот, например: Графический редактор -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Better Kind |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 52 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
в поиск... вот, например: Автор хотел узнать про нажатие левой кнопки. Вот код: ] Код 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 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Ну, ты уж если взялся что-то делать - то делай как положено, а не "через пень - колоду"... С какой радости: procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; ты вдруг отжал кнопку? А ты что, проверил, что отпущена ИМЕННО левая? Может, я в процессе рисования нажал на правую кнопку, чтоб произвести какие-то доп. действия (скажем, отобразить текущие координаты мыши в Caption-е формы), а потом ее (правую же) отпустил. По какому праву это прерывает рисование? Принимается замечание. Хотя по поводу доп. действий и манипуляций правой кнопкой - не представляю себе этого. Если правая кнопка не связана с меню, тогда на левой кнопке "висит" основной цвет, на правой - фоновый(дополнительный). При отпускании правой и левой кнопки логичнее прерывать рисование без доп. проверок. если только настаиваете: Код if button=MBLeft then down:=false; Сообщение отредактировано: Better Kind - -------------------- With best regards, Better Kind
|
![]() ![]() |
![]() |
Текстовая версия | 17.06.2024 2:51 |