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

Вниз

Как повторить завершенный DragAndDrop?   Найти похожие ветки 

 
12 ©   (2010-07-26 09:37) [0]

на форме есть
   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

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


 
sniknik ©   (2010-07-26 09:51) [1]

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

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


 
12 ©   (2010-07-26 09:59) [2]


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

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

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

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

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


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

ща попробую


 
12 ©   (2010-07-26 10:11) [3]

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


 
Anatoly Podgoretsky ©   (2010-07-26 10:14) [4]

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

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



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
10-1168197003
IMHO
2007-01-07 22:10
2010.10.17
Call was rejected by callee


15-1279113348
Кто б сомневался
2010-07-14 17:15
2010.10.17
Какой идиот придумал писать букву u перед pas модулями?


2-1276928471
tippa
2010-06-19 10:21
2010.10.17
ведь всего-то 300 метров


2-1279861058
linuxoid
2010-07-23 08:57
2010.10.17
как передать данные массива с основного потока в параллельный?


3-1246433519
nachi
2009-07-01 11:31
2010.10.17
посчитать сумму параметров дочерних эл-тов