Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WM_MOUSEMOVE WM_LBUTTONDOWN, Работа с мышкой 
:(
    Опции темы
Ragli
Дата 7.4.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 4.4.2006

Репутация: нет
Всего: нет



Здравствуйте
Не подскажете как связать движение мышки и нажатие на левую кнопку мыши?
Т.е.  мне нужно чтоб после нажатия левой нопки мыши считывалась координата движения мышки и при отпускании левой кнопки останавливалось чтение координат курсора.
Пожалуйста помогите,очень нужно

Вот так вот я делаю

Код

.......................
//Нажата левая клавиша мыши во внутренней области окна
    procedure MesDblClick1 (var MyMessage:TWMMouse);
    message WM_LBUTTONDOWN;
........................
 mas:word;
.........................
procedure TGlav.MesDblClick1 (var MyMessage:TWMMouse);
var
   Sender: TObject;
begin
   x_lin_start:=(MyMessage.XPos*2)/Glav.ClientWidth-1;
   y_lin_start:=1-(MyMessage.YPos*2)/Glav.ClientHeight;
  
   if  mas=WM_MOUSEMOVE then
      FormPaint(Sender);

end;


Это сообщение отредактировал(а) Alexeis - 7.4.2007, 21:58
PM MAIL   Вверх
ctulhu
Дата 7.4.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



во первых для начала если работаешь с формой то не сочиняй никаких доп. обработчиков, работай с событиями формы.

во вторых

1) когда у тебя нажалась левая кнопка мыши т.е.
в обработчике WM_LBUTTONDOWN или {Form}.MouseDown регистриуешь нажатие кнопки в 
какую нибудь булевую переменную (True).

2) когда у тебя кнопка мыши отпустилась т.е.
в обработчике WM_LBUTTONUP или {Form}.MouseUp регистриуешь обратное значение (False).

3) в обработчике WM_MOUSEMOVE или {Form}.MouseMove
поступаешь так как тебе нужно в зависимсти от индикаторной булевой переменной.
PM MAIL   Вверх
StranikS
Дата 7.4.2007, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: нет
Всего: 2



Если я правильно понял, то тебе нужно вот ето:

Код

var
  Form1: TForm1;
  LBDFlag:Boolean;{Флаг зажатой левой кнопки мыши}

implementation

{$R *.dfm}

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
//Берем координаты курсора
if LBDFlag=true then form1.Caption:='X='+IntToStr(X)+', Y='+IntToStr(Y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then LBDFlag:=true;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if LBDFlag=true then LBDFlag:=not(LBDFlag);
end;

PM MAIL   Вверх
Alexeis
Дата 7.4.2007, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Модератор: не создавайте дубликатов тем


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ctulhu
Дата 9.4.2007, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



StranikS: привёл абсолютно верный код
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.