Главная страница
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.012 c
4-15352
Jeka.
2002-11-19 08:14
2003.01.06
Scroll


1-15078
Napoleonn
2002-12-21 19:01
2003.01.06
Как в richedite


6-15205
X-shadow
2002-11-07 05:47
2003.01.06
Отправка письма


3-14919
maxval
2002-12-10 18:20
2003.01.06
Проблема с датой


1-15016
Kurt
2002-12-24 11:23
2003.01.06
А сколько максимум может быть строк в StringGrid--е?