Не могу заставить работать драг-дроп.
На форме панель, на панели - edit, который можно таскать по панели.
в Delphi работает, в лазаре - не хочет.
Непонятка с Drag-n-Drop
Модератор: Модераторы
Непонятка с Drag-n-Drop
Последний раз редактировалось keymaster 04.08.2006 12:36:48, всего редактировалось 1 раз.
Вот.
Этот код работает в Delphi (7), но не работает в Lasarus.
Дополнение:
Panel1.Align := alClient;
Panel1.DragMode := dmManual;
Edit1.DragMode := dmAutomatic;
Этот код работает в Delphi (7), но не работает в Lasarus.
Код: Выделить всё
procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
with TEdit(Source) do
begin
Left := X;
Top := Y;
end;
end;
procedure TForm1.Panel1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source.ClassName = 'TEdit';
end;
Дополнение:
Panel1.Align := alClient;
Panel1.DragMode := dmManual;
Edit1.DragMode := dmAutomatic;
Ну.. это компоненты-то. Им права даны
А вот и ссылка
http://wiki.lazarus.freepascal.org/inde ... lphi_Users
Читаем абзац Control Dragging/Docking и приходим к неутешительным выводам.
Правда, этот опус был написан в 2003 году. С тех пор много воды утекло, но не думаю, что положение изменилось.
Т.е LCL проектировали так, чтобы работало на всех платформах (которые Лазарус поддерживает). А это означает, что вещи, специфичные для Windows, сюда не вошли. К примеру, поддержку OLE не сделали.
А вот и ссылка
http://wiki.lazarus.freepascal.org/inde ... lphi_Users
Читаем абзац Control Dragging/Docking и приходим к неутешительным выводам.
Правда, этот опус был написан в 2003 году. С тех пор много воды утекло, но не думаю, что положение изменилось.
Т.е LCL проектировали так, чтобы работало на всех платформах (которые Лазарус поддерживает). А это означает, что вещи, специфичные для Windows, сюда не вошли. К примеру, поддержку OLE не сделали.
