On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 110
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 18.12.13 13:18. Заголовок: Помогите реализовать скроллинг таблицы TBROWSE


Имеется таблица для просмотра в TBROWSE , обычный DBF-файл.
Задача :

при первом отображении TBROWSE - установить указатель на определенной записи , а не в самом верху /внизу . Тут всё ясно . Но ситуация в том что если нужная запись находится , например в конце файла , и мы прыгаем на неё , то все записи , находящиеся выше - не отображаются в TBROWSE - тоесть нужно нажать стрелку вверх чтоб таблица скроллировалась ...
Нужно чтоб курсор стоял на искомой записи и , например , в нижней части окна TBWROWSE , чтоб видеть что и СВЕРХУ есть данные . ТОесть нехватает команды вроде panLeft ( сдвиг таблицы влево ) или panRigth (сдвиг таблицы вправо) БЕЗ изменения текущего положения курсора - только чтоб таблица двигалась вверх-вниз :





Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]





Пост N: 88
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 18.12.13 13:37. Заголовок: Отобразить выше курсора



go recno_need

skip -delta // число строк обзора (страница вверх)

keyboard (chr(K_PGDN))

TBED(..)) // Отображение - сначала нарисует что надо, затем курсор вниз на страницу

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 111
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 18.12.13 14:24. Заголовок: Петр ! Вы как всегда..


Петр ! Вы как всегда вовремя !!!!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 89
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 18.12.13 14:28. Заголовок: Это только идея, надо пробовать..


Возможно keyboard нужно немного в другом месте..

И .. возможно, это не я

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 384
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 18.12.13 14:56. Заголовок: В таблицах, где наиб..


В таблицах, где наиболее актуальные данные находятся внизу (например, отсортированные по дате) - делаю так:
GO BOTTOM
KEYBOARD (CHR(K_CTRL_PGDN))
DBEDIT(...)

Внутри DBEDIT() - нужно повесить обработчик кнопок K_UP, K_DN - чтобы вместо "обычной" реакции выполнялось SKIP или SKIP -1
Тогда курсор будет стоять на месте, а таблица - скроллироваться.

Думаю, в Tbrowse() есть аналогичные реакции.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 112
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 18.12.13 20:15. Заголовок: Вместо K_PGDN ( стра..


Вместо K_PGDN ( страница вниз) - использовал K_Down (Стрелка вниз) с повтором равным количеству SKIP (-Delta) . Исключение составляет только если "нужная строка" находится первой в списке .

PS: Как это я про KEYBOARD () забыл :) , больше времени уделяю написанию на Harbour+MiniGui .....

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 4
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет