Как да деактивирам - прихващане - събития с контроли

прихващане

Вероятно ще задам най-глупавия въпрос, дори исках да пиша в раздела за начинаещи, но все пак е по-близо до винапи:)

Има формуляр, върху който се контролира специално - TImage. Създавам ги димамично, но не същността.

формулярът има отговор на OnMouseMove, MouseDown/Up и куп събития

и какво се случва, когато мишката е над детския контрол - ess-но, събитието OnMouseMove на формуляра не възниква, но се задейства събитието със същото име

и трябва да обработя събитието в манипулатора на формуляри!

Досега направих следното, за всички контроли задавам събития, които делегират обработка на събитие във формуляр, като например:

но някак си е грозно. Може би съм пропуснал нещо, може би е възможно да деактивирам прихващането на събития от детски контроли?

прихващане

събития

патица го. същият байда, дори го опита - щом влезете в родителския контрол, това е. съобщенията отиват при него, т.е. в празнота.

очевидно въпросът тук не е толкова делфи, колкото винапи, и доколкото разбирам, въпросът е за основните концепции за изпращане на събития от Венди

прихващане

тук има две неща:
1) ако мишката е над детската контрола - наследникът на TGraphicControl (като TImage, който споменахте), тогава формулярът получава съобщение на Windows, но генерира събитие за детския контрол от него. Ето и първия ми съвет.
2) ако мишката е над детския контрол - наследник на TWinControl (както всички контроли, които могат да бъдат родителски за други), тогава Windows изпраща съобщение директно до прозореца на този контрол. И тук вероятно можете да използвате куки

Добавено по-късно:
Точно сега проверих дали манипулаторът на съобщения трябва да е в припокриващата се процедура WndProc
и методът на съобщението се извиква твърде късно. вероятно затова е имало "същата байда"

всички контроли