Текущий архив: 2008.09.21;
Скачать: CL | DM;
Вниз
Drag and Drop Найти похожие ветки
← →
9899100 (2008-08-11 10:26) [0]Посдкажите как сделать Drag&Drop строки DBGrid?? из DBGrid перетащить в дерево.
если выставляю DragMode=dmAutomatic, то немогу мышкой перейти на какулибо запись, при нажатии на левую кнопку мыши стартует режим перетаскивания :(
если выставляю режим dmManual и в обрабочике onMouseDown проверяю нажата ли левая кнопка мыши и если нажата то делаю BeginDrag(true)
то туда программа вообще не доходит, ставил бреакпоинт на эту строку проверки, вообще не выполняеться :(
← →
Ega23 © (2008-08-11 10:36) [1]http://www.delphimaster.ru/articles/dragndrop/index.html
← →
9899100 (2008-08-11 10:42) [2]...
Рассмотрим теперь перенос ячеек в StringGrid1. Поскольку, как и в случае с Memo, простое нажатие левой кнопки занято под другие действия, установим DragMode = dmManual и будем запускать Drag при нажатии левой кнопки, удерживая клавиши Alt или Ctrl. Запишем в OnMouseDown:
var
Acol, ARow: Integer;
begin
with StringGrid1 do
....
я читать умею :)
но программа не заходит в обработчик onMouseDown !!!!!!!
я просто сделал так
procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MessageBox(0,"","",MB_OK);
end;
Месажбокс не выскочил ни разу !!!!!!!
ставил бреакпоинт на эту строку!!! туда никто не заходит!!!!
вчем грабли то !!!???
← →
Ega23 © (2008-08-11 10:55) [3]Удалено модератором
← →
9899100 (2008-08-11 10:58) [4]>>Ega23
ай маладца, как помог то, абалдеть
ты крут !!!
сам сделал без EgaVgaшников
вот так вот
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift Then BeginDrag(False);
end;
← →
Ega23 © (2008-08-11 11:15) [5]
> сам сделал без EgaVgaшников
> вот так вот
Видишь как. Чуть-чуть подумал - и всё получилось. Без всяких EgaVgaшников в частности и форума в целом.
Молодец, так держать (я серьёзно).
Страницы: 1 вся ветка
Текущий архив: 2008.09.21;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.005 c