Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2010, 10:23   #1
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию PaintBox

Как проверить, зажата ли левая кнопка мыши?
_-Re@l-_ вне форума Ответить с цитированием
Старый 22.06.2010, 10:25   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then...
end;
SERG1980 вне форума Ответить с цитированием
Старый 22.06.2010, 10:40   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ясно, а как проверить, что мышь ещё одновременно и двигается?(т.е. левая кнопка зажата и мышь двигается, просто через таймер как-то не очень)
_-Re@l-_ вне форума Ответить с цитированием
Старый 22.06.2010, 10:43   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Ну вы хоть свойства компонента посмотрите....
Код:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin

end;
-Re@l- так к слову попробуйте скачать книгу 100 компонентов (Архангельский) там описаны все основные св-ва основных компонентов. Могу даже выложить

Последний раз редактировалось SERG1980; 22.06.2010 в 10:56.
SERG1980 вне форума Ответить с цитированием
Старый 22.06.2010, 10:49   #5
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Предвосхищаю ваш возможный следующий вопрос.
SERG1980 вам правильно сказал.
Только в этом обработчике не удастся задействовать
if Button = mbLeft then...
поэтому создайте глобальную переменную типа boolean и в OnMouseDown приравнивайте, например, к true. А в OnMouseMove проверяйте ее на это значение.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 22.06.2010, 11:06   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Также в событие MouseMove приходит параметр Shift, в нем все что нужно есть.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 22.06.2010, 11:37   #7
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Ну и небольшой примерчик
Код:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if ssLeft in Shift then
 begin
  TPaintBox(Sender).Canvas.LineTo(x,y);
 end else TPaintBox(Sender).Canvas.MoveTo(x,y);
end;
SERG1980 вне форума Ответить с цитированием
Старый 22.06.2010, 11:45   #8
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
Ну и небольшой примерчик
Код:
procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if ssLeft in Shift then
 begin
  TPaintBox(Sender).Canvas.LineTo(x,y);
 end else TPaintBox(Sender).Canvas.MoveTo(x,y);
end;
А я и не знал на счет ssLeft. Стыдно
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 22.06.2010, 13:33   #9
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
-Re@l- так к слову попробуйте скачать книгу 100 компонентов (Архангельский) там описаны все основные св-ва основных компонентов. Могу даже выложить
Книга эта есть, однако там не было того что я вас спрашивал.
_-Re@l-_ вне форума Ответить с цитированием
Старый 22.06.2010, 14:34   #10
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
Книга эта есть, однако там не было того что я вас спрашивал.
Да извиняюсь спутал книги
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текст в PaintBox krikaved Общие вопросы Delphi 5 06.05.2010 19:05
Вопрос по PaintBox rainbow Общие вопросы Delphi 1 07.04.2010 11:21
PaintBox Delphi Dalagardi Помощь студентам 2 30.03.2010 20:43
Paintbox lacost Мультимедиа в Delphi 3 14.01.2009 09:53
paintbox steck Общие вопросы Delphi 5 28.10.2007 16:15