Здравствуйте, 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