Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
4-88301
Timon
2003-01-24 22:12
2003.03.27
Клавиатура !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


1-87990
Inan61
2003-03-12 22:03
2003.03.27
ComboBox и MaxLength


14-88240
Delirium^.Tremens
2003-03-11 10:16
2003.03.27
Новые приключения DT


3-87878
ddenisv
2003-03-11 13:24
2003.03.27
DBGridEh - как делать следующее?


3-87854
ScableR
2003-03-10 04:30
2003.03.27
Работа с Аccess ом




   Наверх