Форум: "KOL";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "KOL";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c