Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.01 c
15-1207728995
user
2008-04-09 12:16
2008.05.25
Проблема с Delphi. При запуске любого проекта дает ошибку.


2-1208939288
K
2008-04-23 12:28
2008.05.25
Считывание BlockRead`ом в вариантный массив


15-1207751426
@!!ex
2008-04-09 18:30
2008.05.25
Сайта http://developer.3dlabs.com/ больше не существует


15-1207818305
user_
2008-04-10 13:05
2008.05.25
Поиск суммы


2-1208946730
Mishka
2008-04-23 14:32
2008.05.25
ibquery и params





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский