Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать состояние кнопки мыши без хука. [D7, XP]


HF-Trade ©   (2006-02-16 11:39:00) 

Как можно узнать состояние кнопки мыши если она находится не над формой?
Нужно чтобы при нажатии средней кнопки выполнялось определенная процедура, можно как нить узнать что кнопка была нажата без использования хука на мышь?


КиТаЯц   (2006-02-16 12:35:00) [1]

Вот, может подойдет:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if IsKeyDown (VK_MBUTTON) then showmessage('Ё!');
end;

function IsKeyDown(c : Char) : Boolean;
 var vk : Integer;
begin
  vk:=VkKeyScan(c) and $FF;
  if vk<>$FF then
     Result:=(GetAsyncKeyState(vk)<0)
  else Result:=False;
end;


HF-Trade   (2006-02-16 12:34:00) [2]


> begin...end ©

Чет я ступил))) Я думал там тока для клавы)))
GetAsyncKeyState подошло))))


КиТаЯц   (2006-02-16 12:27:00) [3]


> HF-Trade ©   (16.02.06 12:18) [3]

Ага, точно...
Сорри, уже второй день вопросы наперекосяк читаю... Заработался, блин... :(


begin...end   (2006-02-16 12:22:00) [4]

> Как можно узнать состояние кнопки мыши если она находится
> не над формой?

GetKeyState


HF-Trade   (2006-02-16 12:18:00) [5]


> КиТаЯц ©

Это обработчик фомы, а если она у меня свернута, а мне надо знать была ли нажата мышь в другом приложении?

> Как можно узнать состояние кнопки мыши если она находится
> не над формой?


КиТаЯц   (2006-02-16 12:06:00) [6]

Было же недавно.... Дублирую:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 case Button of
   mbLeft: showmessage('Левая');
   mbRight: showmessage('Правая');
   mbMiddle: showmessage('Средняя');
 end;
end;


КаПиБаРа   (2006-02-16 12:03:00) [7]

SetCapture?


Наверх

Титульная страница Поиск, карта сайта Написать письмо