Главная страница
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.088 c
15-1208035403
Blind Guardian
2008-04-13 01:23
2008.05.25
Бывает ли Delphi Portable и кто какого мнения о FPC


2-1208974082
deras
2008-04-23 22:08
2008.05.25
DBComboBox Как юзать компонент?


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


2-1209015542
Foo Fighters
2008-04-24 09:39
2008.05.25
Как в искать пустые записи в ADO?


15-1207895948
DimA
2008-04-11 10:39
2008.05.25
Проблема с кодировкой Quick Report