Вы не можете перетащить элемент управления, который уже находится в форме, на свою панель. Перетаскивание предназначено только для перемещения элемента управления, а не для изменения его родителя. Чтобы изменить родительский элемент, вырежьте и вставьте.
Если элемент управления уже находится на вашей панели, и вы хотите переместить его в другое место на панели, тогда панель может управлять макетом, переопределив TWinControl.AlignControls
метод. Когда элемент управления перемещается, вызывается его метод SetBounds
, и среди прочего он вызывает AlignControl (Self)
в своем родительском окне. Это вызывает AlignControls
. Загляните в Controls.pas , и вы увидите, что это сложный метод, но именно он отвечает за расположение дочерних элементов в элементе управления,
Пытались ли вы написать событие «OnDragDrop» для компонента сетки, где вы проверяете, находится ли ваш компонент в режиме разработки?
Я еще не написал такой компонент, но Я не понимаю, почему событие не должно срабатывать.
Возможно, некоторые из этих предложений могут помочь.
Вы можете переназначить элемент управления в дизайнере без необходимости вырезать и вставить. Просмотрите панель структуры и просто перетащите визуальный элемент управления на узел другого родителя на панели структуры. Если у вас есть элементы в потоковой панели, перетащите все из потоковой панели и перетащите их обратно в том порядке, в котором вы хотите, чтобы они были.
(Таким образом вы можете переназначить ЛЮБОЙ визуальный элемент управления, не изменяя ничего, кроме его Я настоятельно рекомендую сделать это таким образом.)
Вы можете просматривать форму как текст и перемещать туда порядок объявления - но, очевидно, вам нужно быть осторожным при непосредственном редактировании "ресурсного" файла.
Вы можете установить порядок табуляции в дизайнере, чтобы вы могли создать другой элемент управления, основанный на порядке табуляции, который работает так, как вы хотите. Вы можете щелкнуть форму правой кнопкой мыши и изменить порядок создания невизуальных элементов управления, но это не работает с визуальными элементами управления.