Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1089332816
NonProgrammer
2004-07-09 04:26
2004.07.25
Операции с датой


1-1089603759
Belocarsk
2004-07-12 07:42
2004.07.25
TreeView+картинки ,без ImageList


9-1080911413
Cash
2004-04-02 17:10
2004.07.25
Collision на каждом кадре анимации


4-1086088360
Stany
2004-06-01 15:12
2004.07.25
библиотека для программирования на API


6-1085649239
Delpher_Gray
2004-05-27 13:13
2004.07.25
Проблема с HTTP->Get запросом




   Наверх