Главная страница
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.025 c
1-1089802187
Pest
2004-07-14 14:49
2004.07.25
блокировка alt f4


4-1086948632
bon
2004-06-11 14:10
2004.07.25
Окно Свойства Папки


1-1089801256
r0bert
2004-07-14 14:34
2004.07.25
проблема с запоминанием размеров окна


14-1089125489
Piter
2004-07-06 18:51
2004.07.25
Принтер EPSON C42SX


14-1089199366
Nein
2004-07-07 15:22
2004.07.25
как догнать двух зайцев?