Drag&Drop
От: Аноним  
Дата: 29.05.03 08:26
Оценка:
Беда вот в чем ... написал свой компонент основанный на TPanel в его конструкторе создаю еще два компонента основанных на TWinControl ... задаю им обработчики на OnMouseDown, OnDragOver, OnDragDrop устанавливаю DragMode = dmAutomatic ... так вот, когда на этом компоненте нажимается кнопка мышки, то событие OnMouseDown не срабатывает ... что я сделал не правильно ?
Re: Drag&Drop
От: SVG Беларусь  
Дата: 29.05.03 09:36
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Беда вот в чем ... написал свой компонент основанный на TPanel в его конструкторе создаю еще два компонента основанных на TWinControl ... задаю им обработчики на OnMouseDown, OnDragOver, OnDragDrop устанавливаю DragMode = dmAutomatic ... так вот, когда на этом компоненте нажимается кнопка мышки, то событие OnMouseDown не срабатывает ... что я сделал не правильно ?


Где обработчики создаются в рантайме в конструкторе или на этапе визуального проектирования?
Если в конструкторе то может Loaded затирает назначения?
Можно либо перекрыть методы откуда вызываются OnMouseDown .., и т.п. и оттуда вызывать обработчики, можно перекрыть Loaded и назначить обработчики после вызова inherited Loaded.
Re[2]: Drag&Drop
От: Аноним  
Дата: 29.05.03 09:48
Оценка:
Здравствуйте, SVG, Вы писали:
SVG> Где обработчики создаются в рантайме в конструкторе или на этапе визуального проектирования?
обработчики назначаются в рантайме:
MyPanel = new TMyControl(this);
MyPanel->OnMouseDown = MyMouseDown;
MyPanel->DragMode = dmAutomatic;
MyPanel->OnDragOver = MyDragOver;
MyPanel->OnDragDrop = MyDragDrop;

SVG> Если в конструкторе то может Loaded затирает назначения?

А как это ?

SVG> Можно либо перекрыть методы откуда вызываются OnMouseDown .., и т.п. и оттуда вызывать обработчики, можно перекрыть Loaded и назначить обработчики после вызова inherited Loaded.

Беда в том, что, как я посмотрел, компоненту WMLButtonDown даже не приходит. По крайней мере брэк поинт не срабатывает при нажатии мыши на этом компоненте ... на других срабатывает ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.