|
Сообщение от Suhov
драг по цепочке и не должен передаваться. он поступает тому, в чьём контексте была мыша нажата. если там не обрабатывается, то пропадает. компонент может делать с эвентом что захочет - может и детям предать, только своим. поэтому если ваш компонент создан в контексте другого, который получает драг, то это уж его дело - передавать вашему или нет.
я в первом посте неверно выразился. по цепочке передаётся не драг, а простой мув. драг чётко привязан к тому, в чьём контексте произошёл моусеентер.
а зачем вам драг аннулировать? если вы с драгом который адресован вашему компоненту хотите что то делать, то делайте. аналогия с виндой очень прямая. поэкспериментируйте с драгами на рабочем столе - щёлкнули на пустом месте и потянули, всё стало выделяться - главное окно рабочего стола это делает, щёлкнули на папочке и потянули - папочка поехала, тоже окно рабочего стола это делает, а если например над этими папками открыто окошко ворда, и щёлкнули в ворде и потянули, то ворд начал выделять, выехали за пределы окна - всё равно ворд выделяет - потому что ему приходит всё. а если щёлкнули на рабочем столе и потянули, заехали в окно ворда - ворд не реагирует, потому как не получает ничего. и это правильно, так работает роутинг эвентов.
|