Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Drag and Drop


9899100 ©   (2008-08-11 10:26:00) 

Посдкажите как сделать Drag&Drop строки DBGrid?? из DBGrid перетащить в дерево.
если выставляю DragMode=dmAutomatic, то немогу мышкой перейти на какулибо запись, при нажатии на левую кнопку мыши стартует режим перетаскивания :(
если выставляю режим dmManual и в обрабочике onMouseDown проверяю нажата ли левая кнопка мыши и если нажата то делаю BeginDrag(true)
то туда программа вообще не доходит, ставил бреакпоинт на эту строку проверки, вообще не выполняеться :(


Ega23   (2008-08-11 11:15:00) [1]


> сам сделал без EgaVgaшников
> вот так вот


Видишь как. Чуть-чуть подумал - и всё получилось. Без всяких EgaVgaшников в частности и форума в целом.
Молодец, так держать (я серьёзно).


9899100   (2008-08-11 10:58:00) [2]

>>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 10:55:00) [3]

Удалено модератором


9899100   (2008-08-11 10:42:00) [4]

...
Рассмотрим теперь перенос ячеек в 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:36:00) [5]

http://www.delphimaster.ru/articles/dragndrop/index.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо