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

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

Как повторить завершенный DragAndDrop? [D7]


12 ©   (2010-07-26 09:37:00) 

на форме есть
   vleKV: TValueListEditor;
   dgList: TDBGrid;

Сделал чтоб из грида можно было перетащить на ValueListEditor.
Потом решил, что надо сделать, чтобы как бросят, можно было еще раз бросить, тоже самое, но на другую строчку ValueListEditor, решил еще раз инициировать старт перетаскивания - получил AV.

обработчики

procedure TfrmNewPrice.vleKVDragOver(Sender, Source: TObject; X,Y: Integer; State: TDragState; var Accept: Boolean);
begin
 Accept := Source is tDBGrid;
end;

procedure TfrmNewPrice.dgListCellClick(Column: TColumn);
begin
 dgList.BeginDrag(true);
end;

procedure TfrmNewPrice.vleKVDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
.. бла-бла
 dgList.BeginDrag(true); //еще раз инициализирую перетаскивание
end;


      EAccessViolation
      Access violation at address 0045CF15 in module '..ce.exe'. Read of address 0000009B

А как надо сделать?


Anatoly Podgoretsky   (2010-07-26 10:14:00) [1]

> 12  (26.07.2010 09:59:02)  [2]

Я так и делаю в Экселе, копирую одну строчку и потом тыкаю ее куда надо
много раз.


12   (2010-07-26 10:11:00) [2]

спасибо, получилось


12   (2010-07-26 09:59:00) [3]


> как будет завершатся твоя серия "дропов"? ...

дропом куда-нибудь "налево",
или, возможно, множественный дроп будет только с шифтом

> (сама "идея" бред)

да ладно, в IDE так же

пока предвижу проблему обратную, пользователю может часто понадобится в гриде выбирать одну и ту же строчку
Хотелось бы, чтоб выбрал, потом натыкал куда ее надо


> postmessage со своим событием "начать драг..." и уже в нем
> его делать.

ща попробую


sniknik   (2010-07-26 09:51:00) [4]

как предположение (сама "идея" бред) - сначала завершить событие "дропа", после стартовать следующее. ну типа вместо прямого вызова сделать там postmessage со своим событием "начать драг..." и уже в нем его делать.

как будет завершатся твоя серия "дропов"? ...


Наверх

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