Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

WM_NCLBUTTONUP   Найти похожие ветки 

 
IllusoryOrion ©   (2005-01-17 13:38) [0]

Добрый день!
Столкнулся с такой проблемой:
Ставлю глобальный хук WH_GETMESSAGE и хочу отлавливать сообщения WM_NCLBUTTONUP, WM_NCLBUTTONDOWN. Но получается отлавливать только WM_NCLBUTTONDOWN, создается такое впечетление, что WM_NCLBUTTONUP окнам вообще не приходят! В МСДН написано, что если окно захватывает capture, то сообщение не отправляется, НО если поставить обработчик на это сообщение в СВОЕЙ форме:
procedure WMNCLButtonUp(var Msg: TMessage); message WM_NCLBUTTONUP; то все замечательно работает!

Так вот, подскажите как хуком отлавливать єто сообщение, или хотя бі обїясните почему своему окну єто сообщение отправляется, а ждугим окнам НЕ СВОЕГО приложения - нет?


 
IllusoryOrion ©   (2005-01-17 14:01) [1]

помогите


 
Colonel   (2005-01-17 14:23) [2]

Почитай здесь на сайте статью по хукам. Может и найдешь ответ. Я нашел ответы.


 
IllusoryOrion ©   (2005-01-17 14:27) [3]


> Colonel   (17.01.05 14:23) [2]


:) да причем здесь хуки? хук нормально работает, я же говорю WM_NCLBUTTONDOWN отлавливается, а UP - нет.


 
VMcL ©   (2005-01-17 14:35) [4]

>>IllusoryOrion ©  (17.01.05 13:38)

Код засекречен?


 
IllusoryOrion ©   (2005-01-17 14:46) [5]


> 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 - не обрабатывется


 
IllusoryOrion ©   (2005-01-17 14:47) [6]

извиняюсь - окно с заголовком "Test"


 
IllusoryOrion ©   (2005-01-17 14:49) [7]

мда :) ну и еще конечно же при SendMessage lParam - 0 и

"Так вот при при button все ок, buttonup - не обрабатывется" должно быть

"Так вот при при buttondown все ок, buttonup - не обрабатывется"


 
IllusoryOrion ©   (2005-01-19 16:22) [8]

Ну так что, мастера? Нет не каких идей почему такое происходит и как это побороть?



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
1-1109073355
han-bratan
2005-02-22 14:55
2005.03.06
TListView - позиционирование на выбранный Item


1-1108971243
Серж_Евдокимов
2005-02-21 10:34
2005.03.06
Есть имя компонента stringName типа string;


14-1107462722
Тимур
2005-02-03 23:32
2005.03.06
Cd-rom или диски


1-1108739359
DimonNew
2005-02-18 18:09
2005.03.06
Как можно связать обычные компонеты с наборами данных


3-1107862956
Mishenka
2005-02-08 14:42
2005.03.06
Как с помощью DBImage просмотреть gif ы из базы?