![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
KOLmdvXLGrid на скроллбоксе
_Polymorphic_ © (2003-07-30 16:08:00)Задолбал я уже, наверное, всех своими вопросами в этом форуме, но всё-таки...
Все прекрасно работает для subj. Взялся за это по причине необходимости плавной прокрутки. Но в режиме редактирования прокрутка перемещает EditBox куда попало!
1) можно ли сделать плавную прокрутку как-нить по-другому?
2) если нельзя, то как можно прервать процесс редактирования с применением (или без) изменений.
_Polymorphic_ (2003-07-30 23:50:00) [1]Спасибо, получил и опробовал успешно!
mdw (2003-07-30 17:45:00) [2]Да, кстати, обновление отправил.
mdw (2003-07-30 17:41:00) [3]Ошибка была в том что при активном едиторе и скролинге за скроллбар он оставался видимым и на том же месте, где была редактируемая ячейка, хотя реально она уже переместилась в другое. А EndEdit, BeginEdit были в protected, я их немного поправил и вынес в public.
_Polymorphic_ (2003-07-30 17:19:00) [4]Самое интересное, чьи это методы: EndEdit, BeginEdit?
Просто я не нашел их у Grid'а (версия 1.06). И ещё я не понял, о какой ошибке речь:
>Зато нашел и исправил ошибку:)))
mdw (2003-07-30 17:08:00) [5]> но сюрпризом стал бегающий editbox.
Скролинг скроллбокса внутри Grid'а отследить не получится. Так что придется ручками закрывать редактор с помощью EndEdit(True, True);
Зато нашел и исправил ошибку:)))
_Polymorphic_ (2003-07-30 16:36:00) [6]Просто при прокрутке родными средствами Вашей замечательной таблички перемещается резко, до следующей границы, т. е. отрисовка всегда начинается с угла ячейки. Конечно, это не недостаток. Но всё-таки попытался я представить себя на месте пользователя (сам себе бета-тестер, типа :) и тут же почувствовал сильный стресс от того, что каждый раз глазами приходилось искать строку, в которой я до этого находился.
С помощью скроллбокса и точной установки размеров таблицы я добился-таки того, чего хотел, но сюрпризом стал бегающий editbox. Я понимаю, что если делать такую прокрутку в самом компоненте, придется очень многое менять (к примеру,MouseToCol) , почти заново переписывать весь модуль компонента... Даже код, наверное, раза в 2 вырастет :). Проще сделать скроллбоксом: 5 минут и готово.
Пожалуйста, вышлите измененный компонент на мыло моё, когда поправите! Спасибо!
p.s. В принципе, может, и сам поправлю, только скажите, где :)
mdw (2003-07-30 16:28:00) [7]>2) если нельзя, то как можно прервать процесс редактирования с применением (или без) изменений.
procedure BeginEdit;
procedure EndEdit(ASave: Boolean);
mdw (2003-07-30 16:20:00) [8]>Но в режиме редактирования прокрутка перемещает EditBox куда попало!
Гм. Да это просто ошибка. Поправлю.
>1) можно ли сделать плавную прокрутку как-нить по-другому?
Не понял вопрос, что значит "плавную прокрутку"