Текущий архив: 2003.03.27;
Скачать: CL | DM;
ВнизDrag n Drop in TStringGrid Найти похожие ветки
← →
anod (2003-03-13 17:00) [0]Где и как определить парметры (№ колнки, № строки) того элемента, который перетаскиваешь (источника).
Спасибо.
← →
MBo (2003-03-13 17:26) [1]col,row
← →
vlad40 (2003-03-13 17:28) [2]Можно, например, в событии OnMouseDown брать координаты мыши и через MouseToCell определять ячейку в гриде
← →
anod (2003-03-13 17:28) [3]TЕсть ещё проблема - если включаешь DragMode на dmAutomate, то перестает работать выделение...
← →
anod (2003-03-13 17:31) [4]2 vlad40
Я пытался это делать в onStartDrag. У ченя не получилось, попробую так.
2 MBo
>col,row
Чем это поможет?
← →
vlad40 (2003-03-13 18:00) [5]А ты не ставь сразу dmAutomatic. На событии OnMouseDown определи исходную ячейку и выполни BeginDrag. Тогда все будет нормально.
← →
anod (2003-03-13 18:03) [6]А как мне на OnMouseDown определить, что я просто выделяю или собирабсь перетаскивать?
← →
anod (2003-03-13 18:10) [7]Извените понял, спасибо
← →
vlad40 (2003-03-13 18:15) [8]Вот пример рабочего кода:
var drCol,drRow: integer;
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StringGrid1.MouseToCell(x,y,drCol,drRow);
StringGrid1.col:=drCol;
StringGrid1.row:=drRow;
end;
procedure TForm1.StringGrid1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
var
c,r: integer;
begin
Accept:=true;
StringGrid1.MouseToCell(x,y,c,r);
StringGrid1.col:=c;
StringGrid1.row:=r;
end;
procedure TForm1.StringGrid1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var
c,r: integer;
begin
StringGrid1.MouseToCell(x,y,c,r);
StringGrid1.col:=c;
StringGrid1.row:=r;
StringGrid1.Cells[c,r]:=StringGrid1.Cells[drCol,drRow];
StringGrid1.DragMode:=dmManual;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if ssLeft in Shift then
StringGrid1.BeginDrag(true);
end;
Страницы: 1 вся ветка
Текущий архив: 2003.03.27;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c