Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Drag'n Drop TStringGrid


ford ©   (2009-10-06 13:32:00) 

Здравствуйте!!
расположил на форме TRxRichEdit
и TStringGrid
в обработчике onDragOver у StringGrid
Begin
Accept:=true;
end;

выделяю текст в ричедите, и перетаскиваю в StringGrid
но курсор при наведении на StringGRid показывает что Drop запрещен
свойство StringGrid.DragMode=dmManual;

Почему?? Как сделать чтобы грид принимал объекты??
почитал статью
http://www.delphimaster.ru/articles/dragndrop/index.html
вроде все так и сделал


MBo   (2009-10-06 15:38:00) [1]

>на нажатие правой кнопки :((некрасиво получается
Левой кнопкой в Edit-контролах выделение и внутренняя реализация перетаскивания - так что левую использовать затруднительно, и, видимо, придется правой таскать.


ford   (2009-10-06 14:59:00) [2]

пришлось повесить BeginDrag в RichEdit на нажатие правой кнопки :((
некрасиво получается
если поставить два RxRichEdit то между ними все выделяется и перетаскивается
а вот перетащить в другой контрол получается по нормальному неполучается
:(


ford   (2009-10-06 14:18:00) [3]

т.е. надо перетаскивать не RichEdit
а выделенный текст из RichEdit

как это организовать?? подскажите


ford   (2009-10-06 13:53:00) [4]


> а в StringGridDragDrop что?


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);
begin
Application.MessageBox('Drop ok','hi',MB_OK);
end;


собственно не вызывается DragOver :(
я туда поставил точку останова
и 0 :(


> Ну раз в примере из статьи работает (из второго грида в
> первый перетаскивается), а у тебя нет, то есть сомнения
> в том, что "вроде все так и сделал"


точно
я не поставил dmAutomatic в RichEdite !
но когда ставиш его в dmAutomatic
то невозможно выделить кусок текста мышкой
только клавишами

может что то надо написать в обработчике OnStartDrag у RichEdit?


clickmaker   (2009-10-06 13:45:00) [5]

а в StringGridDragDrop что?


MBo   (2009-10-06 13:43:00) [6]

>свойство StringGrid.DragMode=dmManual;
Это не нужно при перетаскиваниии в грид

Ну раз в примере из статьи работает (из второго грида в первый перетаскивается), а у тебя нет, то есть сомнения в том, что "вроде все так и сделал"


Наверх

Титульная страница Поиск, карта сайта Написать письмо