![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_NCLBUTTONUP [D6, WinXP]
IllusoryOrion © (2005-01-17 13:38:00)Добрый день!
Столкнулся с такой проблемой:
Ставлю глобальный хук WH_GETMESSAGE и хочу отлавливать сообщения WM_NCLBUTTONUP, WM_NCLBUTTONDOWN. Но получается отлавливать только WM_NCLBUTTONDOWN, создается такое впечетление, что WM_NCLBUTTONUP окнам вообще не приходят! В МСДН написано, что если окно захватывает capture, то сообщение не отправляется, НО если поставить обработчик на это сообщение в СВОЕЙ форме:
procedure WMNCLButtonUp(var Msg: TMessage); message WM_NCLBUTTONUP; то все замечательно работает!
Так вот, подскажите как хуком отлавливать єто сообщение, или хотя бі обїясните почему своему окну єто сообщение отправляется, а ждугим окнам НЕ СВОЕГО приложения - нет?
IllusoryOrion (2005-01-19 16:22:00) [1]Ну так что, мастера? Нет не каких идей почему такое происходит и как это побороть?
IllusoryOrion (2005-01-17 14:49:00) [2]мда :) ну и еще конечно же при SendMessage lParam - 0 и
"Так вот при при button все ок, buttonup - не обрабатывется" должно быть
"Так вот при при button downвсе ок, buttonup - не обрабатывется"
IllusoryOrion (2005-01-17 14:47:00) [3]извиняюсь - окно с заголовком 'Test'
IllusoryOrion (2005-01-17 14:46:00) [4]
> VMcL © (17.01.05 14:35) [4]
:) Нет конечно. Просто сейчас я не дома и исходников с собой нет. Но у меня что-то типа этого:
const
WM_NC_UP = WM_USER + $100;
WM_NC_DOWN = WM_USER +$200;
function GetWndProc(nCode, wParam, lParam: integer): integer; stdcall;
var
Msg: PMsg;
begin
if nCode>=0 then
begin
Msg:=PMsg(wParam);
//еще проверки на хиттест, на то имеет ли окно caption, но это не важно
case Msg.message of
WM_NCLBUTTONUP: SendMessage(FindWindow(nil, 'Test'), WM_NC_UP, Msg.hwnd);
WM_NCLBUTTONDOWN: SendMessage(FindWindow(nil, 'Test'), WM_NC_DOWN, Msg.hwnd);
end;
end;
Result:=CallNextWindowsHook(...);
end;
Окно с заголовком 'Testing' мое приложение, при приеме сообщения WM_NC_UP,DOWN - добавляет в мемо заголовок окна и его хендл.
Так вот при при button все ок, buttonup - не обрабатывется
VMcL (2005-01-17 14:35:00) [5]>> IllusoryOrion © (17.01.05 13:38)
Код засекречен?
IllusoryOrion (2005-01-17 14:27:00) [6]
> Colonel (17.01.05 14:23) [2]
:) да причем здесь хуки? хук нормально работает, я же говорю WM_NCLBUTTONDOWN отлавливается, а UP - нет.
Colonel (2005-01-17 14:23:00) [7]Почитай здесь на сайте статью по хукам. Может и найдешь ответ. Я нашел ответы.
IllusoryOrion (2005-01-17 14:01:00) [8]помогите