Re: Drag&Drop из DBGrid
От: Well Россия  
Дата: 08.11.05 10:44
Оценка:
Здравствуйте, Well, Вы писали:

W>Ещё зимой столкнулся с задачей, потом благополучно забыл и вот сейчас она всплыла вновь .

W>Задача перетащить из DBGrid данные в другую форму.
W>Но возникла проблема.
W>Событие OnMouseDown происходит если курсор находится на DBGrid, но вне таблицы данных. Если нажимаешь кнопку мыши на таблице, то событие OnMouseDown не обрабатывается. Выделяется ячейка, но реакции на нажатие мыши в этом случае нет.
W>Каким образом отловить OnMouseDown ?

W>Код примерно такой:

W>void __fastcall TForm1::DBGrid1DragOver(TObject *Sender, TObject *Source,
W> int X, int Y, TDragState State, bool &Accept)
W>{
W> Accept = true;
W>}

W>//----------------------------------------------------------------------------------


W>void __fastcall TForm1::DBGrid1MouseDown(TObject *Sender,

W> TMouseButton Button, TShiftState Shift, int X, int Y)
W>{
W> //TDBGrid* grid=(TDBGrid*)Sender; // cast to TFileListBox
W> Edit1->Text=" таблицa";
W> //grid->BeginDrag(false,-1);
W>}

W>Если я нажимаю кнопкой на DBGrid, но вне таблицы, надпись "таблица" появляется, если в какой либо ячейке таблицы, то никакой реакции.

W>Ну и тоже если я раскомментирую drag&drop

W>Подскажите, как мне осуществить перетаскивание данных из DBGrid


D
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.