Главная страница
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.049 c
3-1088683383
ligor
2004-07-01 16:03
2004.07.25
SQL-запрос


1-1089730936
FlyDragon
2004-07-13 19:02
2004.07.25
Адрес класса(объекта)


1-1089297274
lion
2004-07-08 18:34
2004.07.25
параметры файла


1-1089714118
Бывалый
2004-07-13 14:21
2004.07.25
Lotus Notes & Delphi


1-1089530502
Islander
2004-07-11 11:21
2004.07.25
Как получить текущую модальную форму?