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

Вниз

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

 
Max Zyuzin ©   (2002-12-15 10:14) [0]

Приветствую, всех!

В общем занялся я тут одной вещью.. а именно решил сделать возможность в программе перетаскивать методом D&D записи из одного грида в другой... начитался хелпов :)
Стал делать, но сталкнулся с проблеммой -
Если у грида поставить свойство (DragMode??) dmAutomatic то перетаскивание идет нормально, только вот фиг выберешь что нить в самом гриде... как только нажимаешь левую кнопку мыши, сразу курсор стает перетаскиваемым и запись не позиционируется...
Побороть это можно поставив dmManual и повесив в обработчик события onMouseDown у грида... но вот проблемма в том, что событие срабатывает только если кликать в Тайтл в обычные стоки - фиг :((
Побороть удалось только воспользовавшись DBGridEh - в ней все работает замечательно.... А в стандартной это можно сделать???

И еще вопрос при притаскивании на новый грид чего то из старого, в событии возвращается только координаты (X,Y) компонента куда мы что то притащили... вопрос - как по умному можно достучаться до записи, на которую притащили что то из другого грида???
В смысле как по координатом спозиционироваться на записи соответствующей.


 
MBo ©   (2002-12-15 10:29) [1]

для правой кнопки описано в http://delphi.mastak.ru/articles/dragndrop/index.html

Для левой так:

(dmManual)

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if DragDetect(Dbgrid1.handle,point(x,y))
then
DBGrid1.BeginDrag(true);
end;

Для определения, куда принесли - может пригодиться
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1039520901&n=0
Но, думаю, есть и лучшие решения - я в БД не спец


 
Max Zyuzin ©   (2002-12-15 10:44) [2]

>MBo © (15.12.02 10:29)
Спасибо... В общих чертах понятно. Т.е. предлагается позиционироваться автоматичекски проcто при движении курсора по DBGrid??


 
MBo ©   (2002-12-15 10:47) [3]

В общем да. Не знаю, подойдет ли тебе - там определялось содержимое ячейки под курсором, а удастся ли так добавить в данную ячейку, я не пробовал



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
1-15097
Dmitry_K
2002-12-22 02:13
2003.01.06
Как узнать, создана ли форма?


1-15148
Agent
2002-12-22 20:20
2003.01.06
Мастаки Help!!!!!!


4-15355
sdram
2002-11-18 17:46
2003.01.06
Как узнать текущую OS?


1-15065
Ranikin
2002-12-24 15:18
2003.01.06
TreeView - как разобраться с делами ?


8-15177
timetrax
2002-09-16 22:25
2003.01.06
Надо книгу по использованию ОпенГеля в Делфе