![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрового времени суток всем! в общем проблемма такая, появилась идея а реализовать ее не могу (скудный запас знаний - я новичок в этом).Так вот мне нужно реализовать перетаскивание текста из memo в ячеку stringrid ( что бы было удобнее составлять расписание, перетащил урок из облака где собраны уроки в ячейку stringrid распечатал и все.)
![]() Последний раз редактировалось Delphilamer, 19.05.2013 в 11:14. |
|
#2
|
||||
|
||||
|
ну как вариант при перетаскивании в ячейке писать циферку (ну или прямо так и писать "история"), а потом
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var i: integer;
begin
with StringGrid1 do
begin
for i:=0 to rowcount do
begin
if cells[1, i] = '0' {или cells[1, i] = 'история'} then canvas.Draw(cellRect(1,i).Left, cellRect(1,i).Top, Image1.Picture.Graphic); // рисуем че-то из Image1, если в клетке ноль
// и так далее смотря какой рисунок
end;
end;
end;Последний раз редактировалось Mrak, 19.05.2013 в 16:20. |
|
#3
|
||||
|
||||
|
У компонента-донора текста (у меня это были эдиты) свойство DragMode должно быть выставлено в dmAutomatic
Код:
procedure TForm1.StringGrid1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept:= true; end; procedure TForm1.StringGrid1DragDrop(Sender, Source: TObject; X, Y: Integer); var ACol, ARow: Integer; begin StringGrid1.MouseToCell( X, Y, ACol, ARow); StringGrid1.Cells[ Acol, Arow] := (Source as TEdit).Text; end; |