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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2010, 16:36   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
Вопрос Определение области воздействия мышью

Имеется программа, которая призвана определить, куда пользователь нажал мышью. Т.е. нажимаем на какой-либо объект управления, а программа выдает все сведения о данном объекте: системное имя, координаты, ширина, высота... Делает она это неплохо, только проблема в следующем: когда нажимаем на заблокированную кнопку на TPanel, то объект воздействия определяется как TPanel; или при нажетие на кнопку ToolButton на ToolBar'е, объект воздействия определяется TToolBar, а по идее должен TToolButton.

Вот код, который обрабатывает нажатие мыши и определяет информацию об объекте воздействия:
Код:
  
procedure TForm1.WndProc(var Msg: TMessage);
  var
    Sender: HWND;                   // Handle найденного окна
    SenderRect: TRect;             // Координаты окна
    Buff: array [0..255] of char; // буфер
    SenderText: String;          // Текст окна
    ClassName: String;          // Класс окна
begin

if (Msg.Msg = MWM_LBUTTONDOWN) then
  begin

        Sender:=WindowFromPoint(Mouse.CursorPos);
        GetWindowRect(Sender, SenderRect);
        GetWindowText(Sender, Buff, SizeOf(Buff));
        SenderText:=StrPas(Buff);
        GetClassName(Sender, Buff, SizeOf(Buff));
        ClassName:=StrPas(Buff);

  end;
end;
Вот сама программа, нажмите на "Start Hook" и попробуйте понажимать на контролы на Panel1 и Panel2.

Как изменить код, чтобы при нажатии на ToolButton он определял именно этот контрол а не родителя? Похожие ситуации возникают часто при нажатии на элементы управления в сторонних приложених.
Вложения
Тип файла: rar MouseHook.rar (199.2 Кб, 7 просмотров)
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение значения системы в заштрихованной области pascal neomax38 Помощь студентам 2 06.10.2010 11:16
Определение границ области в изображении Manul_87 Помощь студентам 0 17.11.2009 17:38
Что с мышью? mutabor Свободное общение 7 16.01.2008 13:35