Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Срочно требуется разработка на Delphi  (Прочитано 181 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
Ilya
Новенький

ru
Offline Offline

« : 24-03-2013 16:28 » 

Срочно требуется разработка на Delphi.  При DragDrop с ТreeView на StringGrid отсутствует скроллинг (прокрутка) к ячейкам, находящимся за пределами таблицы. Написать автоскроллинг, когда мышь находится вблизи края StringGrid. Оплата - 3200 руб.
e-mail: otd45@yandex.ru
Записан
zubr
Гость
« Ответ #1 : 24-03-2013 17:25 » 

Не совсем понятно задание. К каким ячейкам должен быть скроллинг? К примеру, у стринггрида 1000 строк, в области видимости компонента - 20 строк. К каким ячейкам в данном случае должен быть скроллинг?
Записан
Ilya
Новенький

ru
Offline Offline

« Ответ #2 : 24-03-2013 18:25 » 

DragDrop проводится с ТreeView на столбец  StringGrid , находящийся за пределами видимой части таблицы.
В рамках видимых столбцов таблицы перенос проводится без проблем. Так же нормально проводится перенос значений
между столбцами самой таблицы (скроллинг работает). Проблема возникает при переносе с  ТreeView на столбец  StringGrid
находящийся за пределами видимой части (скроллинг не работает).

Добавлено через 16 минут и 54 секунды:
На мой взгляд, надо отследить перемещение мыши к границе области видимости  StringGrid, далее, осуществить переход на следующий столбец (ы), которые располагаются за пределами видимой части таблицы.
 
« Последнее редактирование: 24-03-2013 18:42 от Ilya » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 24-03-2013 19:05 » new

zubr, плавно крутить под мышью, пока не покажутся нужные. Если строк много, предусмотреть 2 варианта скорости. Так в общем-то много где сделано: хоть в том же Excel.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Ilya
Новенький

ru
Offline Offline

« Ответ #4 : 24-03-2013 19:24 » 

В том и дело, что при  приближении к границе таблицы автоскролл не проводится, т.е. автоматически не осуществляется скроллирование и
переход к новому столбцу, который находится за границей видимой части таблицы! Надо предварительно, до переноса,
 вручную передвигать ползунок для показа нужного столбца и только после этого осуществлять перенос.
Препод подсказал, что надо используя таймер, отследить перемещение мыши к концу таблицы и далее проводить переход на новый столбец.
DragDrop проводится с компонента TreeView на StringGrid. Прошу помочь за вознаграждение.






Добавлено через 11 минут:
Дополнительно:
В процедуре StringGrid1DragDrop:
StringGrid1.MouseToCell(x,y,Acol,Arow);
StringGrid1.Cells[Acol,1] := TreeView1.Selected.text;  //Значение TreeView1присваиваем ячейке столбца

В процедуре StringGrid1DragOver:
Accept := (Source = TreeView1 ) or (Source = StringGrid1)


« Последнее редактирование: 24-03-2013 19:35 от Ilya » Записан
zubr
Гость
« Ответ #5 : 24-03-2013 19:44 » 

Так?

* Project1.rar (192.68 Кб - загружено 16 раз.)
Записан
Ilya
Новенький

ru
Offline Offline

« Ответ #6 : 25-03-2013 02:52 » 

Уважаемый zubr, все правильно, именно так. Буду очень признателен за код и как вам передать вознаграждение за работу?
Записан
zubr
Гость
« Ответ #7 : 25-03-2013 03:56 » 

Отписал в личку.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines