![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
StringGrid значение из ячеек.
nttp © (2006-11-06 19:38:00)Есть заполненный StringGrid, есть пустой Edit. Как из грида сделать драг значения в edit: берешь мыша, подводишь к нужной ячейке выделяешь её и тащишь на edit (с характерным курсором перетаскивания) и edit принимает значение перетаскиваемой ячейки. Как такое осуществить?
ЮЮ (2006-11-07 04:22:00) [1]Написать соответствующий код в обработчиках OnDragOver и OnDragDrop Edit-а и OnMouseMove и OnMouseDoun StringGrid-a, например:
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StringGrid1.Tag := 0;
end;
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if (ssLeft in Shift) and (StringGrid1.Tag = 0) then begin
StringGrid1.Tag := 1; // начали Drag
StringGrid1.BeginDrag(true);
end;
end;
procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source is TStringGrid; // готовы Drop-нуть
end;
procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
Edit1.Text := StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row];
end;