Вниз
Скачать: 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.011 c
7-88262
ЛуноХод
2003-02-03 08:01
2003.03.27
Список процессов


1-87943
calm
2003-03-17 15:56
2003.03.27
Нельзя класть контролы на фрейм, расположенный на форме?


8-88077
sergn
2002-12-16 17:26
2003.03.27
Попадание курсором мыши на букву.


14-88137
malkolinge
2003-03-12 18:24
2003.03.27
Как подписаться на фидошную конференцию ?


7-88277
BJValentine
2003-02-04 18:45
2003.03.27
Событие Scroll




   Наверх