Беда вот в чем ... написал свой компонент основанный на TPanel в его конструкторе создаю еще два компонента основанных на TWinControl ... задаю им обработчики на OnMouseDown, OnDragOver, OnDragDrop устанавливаю DragMode = dmAutomatic ... так вот, когда на этом компоненте нажимается кнопка мышки, то событие OnMouseDown не срабатывает ... что я сделал не правильно ?
Здравствуйте, Аноним, Вы писали:
А>Беда вот в чем ... написал свой компонент основанный на 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 даже не приходит. По крайней мере брэк поинт не срабатывает при нажатии мыши на этом компоненте ... на других срабатывает ...