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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 17:08   #1
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию отловить нажатие в квадрате на форме

Помогите, пытаюсь отловить нажатие в определенном квадрате на форме. Пишу так:

Код:
case Msg of
...
    WM_LBUTTONDOWN:
      begin
        xPos: = LOWORD(lParam); // horizontal position of cursor 
        yPos: = HIWORD(lParam); // vertical position of cursor 
      end;
...
end;
Хочу чтобы при нажатии левой кнопкой мыши на квадрат вводилось сообщение "вы попали в квадрат", в ином случай "промах".
HTTqp вне форума Ответить с цитированием
Старый 21.01.2015, 17:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А почему не через OnMouseDown?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2015, 17:24   #3
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

потому что используется winapi
HTTqp вне форума Ответить с цитированием
Старый 21.01.2015, 18:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Ладно. Тогда в чем сложность? Код по идее верный.
Добавь if и MessageBox
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2015, 18:55   #5
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

пытаюсь вот так
Код:
var
xPos,yPos: DWORD;

...
case Msg of
...
    WM_LBUTTONDOWN:
      begin
        xPos: = LOWORD(lParam); // horizontal position of cursor 
        yPos: = HIWORD(lParam); // vertical position of cursor
        if (xPos=10) and (yPos=10) then  messageBox(Handle,'Сообщение','Имя константы',mb_ok); 
      end;
...
end;
не выходит, что не так?
HTTqp вне форума Ответить с цитированием
Старый 21.01.2015, 19:17   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А у квадрата одна точка что ли? У него какие-то размеры есть. То есть проверка в интервале. Да и координаты относительно экрана, их нужно к координатам относительно формы привести
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.01.2015, 19:22   #7
HTTqp
Форумчанин
 
Регистрация: 20.12.2013
Сообщений: 164
По умолчанию

а как указать от куда до куда, и как тогда кординаты к форме привязать?
HTTqp вне форума Ответить с цитированием
Старый 21.01.2015, 19:34   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во даешь стране гугля ))
Код:
cx:=100; cy:=100; len:=100; //Квадрат в координате 100,100 со стороной 100;
...
if (xPos>=cx) and (yPos>=cy) and (xPos<=cx+len) and (yPos<=cy+len)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2015, 19:35   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
кординаты к форме привязать
У формы есть метод ScreenToClient
Цитата:
как указать от куда до куда
(x>=a) and (x<=a+w) and (y>=b) and (y<=b+h)
примени к своей ситуации
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отловить нажатие кнопки на форме Shouldercannon Общие вопросы Delphi 2 05.10.2014 16:06
Отловить нажатие клавиши volverine Общие вопросы Delphi 5 02.07.2013 01:58
отловить нажатие клавиши ctrl kaljan775 Общие вопросы C/C++ 4 31.10.2011 23:39
Отловить нажатие двух клавиш Сид Общие вопросы Delphi 2 28.12.2009 20:42
Отловить нажатие кнопок Sanek_ntsk Паскаль, Turbo Pascal, PascalABC.NET 2 12.03.2008 17:38