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

Вниз

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

 
Rusya   (2007-09-09 14:32) [0]

Привет всем, такая проблема: что-то не могу поймать HDN_TRACK в KOLEcmListEdit"e. Вот обработчик OnMessage контрола:

function TForm1.ecmListEdit1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
Result:= false;
if ( Msg.message = WM_NOTIFY ) then
 if ( PNMHDR(Msg.lParam)^.code = HDN_TRACK ) then MsgOk("  ");
end;

В чем проблема, подскажите?


 
Galkov ©   (2007-09-10 09:09) [1]

Насколько я разбираюсь в гинекологии, WM_NOTIFY винда отправляет паренту.
А KOL-овский аттач НЕ переправляет это сообщение нужному контроллу, НО вызывает обработку динамических хэндлеров этого самого нужного контролла.

Поэтому, по onMessage вы ничего и не получаете. НО, получили бы при пристегивании вашего обработчика через аттач.

Мне именно так кажется....


 
Rusya   (2007-09-10 12:26) [2]

А разве обработчик не пристегивается аттачем? По идее, должно быть именно так. Иначе как доходят другие сообщения, чем WM_NOTIFY так отличается?


 
Galkov ©   (2007-09-10 15:02) [3]


> А разве обработчик не пристегивается аттачем?

Простите, но ответ на этот вопрос зависит от понимания магического слова ОБРАБОТЧИК

Приходится экстрасенсорить, глядя на Ваши посты.
К сожалению.
Пока я думал, что Вы делали что-то типа такого:
Control.onMessage := TForm1.ecmListEdit1Message;
Обработчик именно события onMessage стоит в оконной ф-ии контролла.
Всегда стоит, и никем никуда не пристегивается вроде - он там живет...

А под магическим словом аттач понимается (мной, по крайней мере) то, чего пристегивается методом TControl.AttachProc.
Фактический параметр этого метода, грубо говоря.

Так вот, по умолчанию, в оконной ф-ии контролла обработчиков сообщения WM_NOTIFY - нет. Но они пристегиваются конструктором _NewCommonControl.
Точнее: WndProcCommonNotify - к самому контроллу , а WndProcNotify - к паренту.

Поведение WndProcNotify я открыл Вам выше: он НЕ вызывает оконную ф-ию контролла назначения, в которой живет обработчик onMessage.

Это так сделано сегодня - я не виноват. Что вижу, о том и пою...
Собственно, именно такая система обработки для WM_NOTIFY - и у меня сомнения вызывает в  ее правильности...
Правда, совсем в другой связи...


 
Rusya   (2007-09-12 12:21) [4]


> Это так сделано сегодня - я не виноват. Что вижу, о том
> и пою...Собственно, именно такая система обработки для WM_NOTIFY
> - и у меня сомнения вызывает в  ее правильности... Правда,
>  совсем в другой связи...

т.е. для того чтобы ловить WM_NOTIFY, надо самому пристегивать обработчик по AttachProc?


 
Galkov ©   (2007-09-12 13:17) [5]


> Мне именно так кажется....

:))



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
2-1209814797
Boris
2008-05-03 15:39
2008.05.25
Как сделать видимыми границы таблицы в Word ?


15-1208107582
Дмитрий С
2008-04-13 21:26
2008.05.25
Нормальная java-аська


9-1170088460
darkangel
2007-01-29 19:34
2008.05.25
Контексты рендеринга.


15-1206729020
easy
2008-03-28 21:30
2008.05.25
PDA RO шлюз форума


6-1187198078
di-m
2007-08-15 21:14
2008.05.25
Использование WebBrowser