|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Drag and Drop в Stringrid
Добрового времени суток всем! в общем проблемма такая, появилась идея а реализовать ее не могу (скудный запас знаний - я новичок в этом).Так вот мне нужно реализовать перетаскивание текста из 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; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |