Создание обработчака

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем ru_looking_for, 11 июн 2006.

Статус темы:
Закрыта.
  1. ru_looking_for

    ru_looking_for Гость

    В билдере, когда создаем приложение, он скрывает WinAPI. А мне нужно написать обработчик своих сообщений. Причем так, чтобы сообщения принимались вне зависимости от того где сейчас фокус (на кнопке, в эдите или еще где). Через BEGIN_MESSAGE_MAP можно создать, но обработчик получается привязанным к конкретному объекту, а мне нужно, чтобы было для всего приложения. Как сделать?
     
  2. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    Если для формы, то перегрузи WndProc, или как она там называется в билдере. Если для всего приложения в целом, то тут вроде сложнее. VCL использует однопоточную архитектуру, т.е все окна используют один цикл выборки сообщений, который прячет в себе метод Application::Run. Какие либо извращения с этим методом делать не стоит, больно уж он фундаментальный для VCL в целом да и скорее в свсего не нужно. Я думаю среди событий Application обязательно найдется что то вроде Application::OnPreMessageLoop или ему подобного. Ни делфы, ни билдера под рукой не оказалось, так что прошу прощения за ошибки в наименованиях
     
  3. fmrlex

    fmrlex Гость

    Ставь библиотеку RxLib. Там есть компонент RxWindowHook.
    Он позволит тебе хватать любые мессаги.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей