Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Drag&Drop   Найти похожие ветки 

 
ALEIIIKA   (2004-07-14 08:56) [0]

Столкнулся со следующей проблемой: есть две формы, на каждой расположено по TImage, в которых нарисована таблица, обе формы одного приложения и обе видимы.
Проблема заключается в следующем: нужно поменять информацию в ячейках, следующим способом: нужную ячейку в одной форме выбрать нажав левую кнопку мыши и тащить на другую форму и в нужном месте отпустить.
В процессе программирования следующее:
нажатие и перетаскивание программируется легко, а вот вторая форма не обрабатывает перемещение над ней мыши (так как не активна) до момента пока не станет активна (то есть пока над ней не отпущу кнопку).
Пробовал использовать DragDrop и DragOver, но т.к. перемещение ячеек может быть не только между формами, но и на одной из форм, реализация этого не получается.
Какими еще вариантами можно реализовать сие действие! Всем спасибо.


 
MBo ©   (2004-07-14 09:12) [1]

Не вижу проблем - чудесно работает перетаскивание с Label1 первой формы и Label2 второй формы на Label1 второй:

procedure TForm2.Label1DragOver(Sender, Source: TObject; X, Y: Integer;
 State: TDragState; var Accept: Boolean);
begin
Accept:=Source is TLabel;
end;

procedure TForm2.Label1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Caption:=IntToStr(GetTickCount)+TControl(Source).Name;
end;


 
ALEIIIKA   (2004-07-14 12:05) [2]

Так работает я знаю, но мне надо то чтобы не только с формы на форму, а примерно вот так (Образная запись):
c Form1.image1(X, Y) на Form2.image1(X1, Y1)
Form2.image1(X, Y) -> Form1.image1(X1, Y1)
Form1.image1(X, Y) -> Form1.image1(X1, Y1)
Form2.image1(X, Y) -> Form2.image1(X1, Y1)

Достаточно такого алгоритма работы

OnMouseDown ( Form1.image1(X, Y) ) // здесь легко даеются X и Y
OnMouseUp ( Form2.image1(X1, Y1) ) // а вот здесь их не получить.


 
MBo ©   (2004-07-14 12:32) [3]

OnDragDrop/Over все это решает. Непонятно, в чем заморочки.


 
IXT   (2004-07-14 12:39) [4]

А я не понял, причем тут TImage и таблица?


 
ALEIIIKA   (2004-07-14 13:27) [5]

Таблица рисуется в Image (StringGrid - не подходит НИ КАК)


 
ALEIIIKA   (2004-07-14 13:57) [6]

Все разобрался на второй форме рисовалось все на форме а не на Image, поэтому Drag&Drop не работал. Всем спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
1-1089709068
Ross
2004-07-13 12:57
2004.07.25
Форма загружена?


14-1089016204
Off
2004-07-05 12:30
2004.07.25
Алгоритм гирлянды.


9-1081686409
KEBZ
2004-04-11 16:26
2004.07.25
DelphiX


1-1089274655
aliced
2004-07-08 12:17
2004.07.25
Панель Delphi отсутствует при открытии проекта


1-1089638173
Alkmas
2004-07-12 17:16
2004.07.25
Как узнать о состоянии процесса ?