Форум » GUI » TSBROWSE - "цепляется" последняя строка » Ответить

TSBROWSE - "цепляется" последняя строка

Dr. Oldwarez: Обьясните пожалуйста, почему при прокрутке TSBROWSE последняя строка часто не обновляется, а зависает, и её значение остаётся неизменным при прокрутке. В зависимости от установленного числа пикселей высоты, эта строка может быть в половину и в четверть нормальной высоты.

Ответов - 69, стр: 1 2 3 4 All

SergKis: Андрей, это понятно, мы боремся с фантомной (заполненной) строкой. В твоем мод. примере она тоже просматривается, если бы она (фантомная строка) была пуста - это, по мне, было бы нормой. Получается тбровсе говорит (у меня) о 26 строках, а прорисовывает 27 и листает из расчета 27

Haz: SergKis пишет: мы боремся с фантомной (заполненной) строкой Сергей , мне кажется этот фантом - результат разбалансировки высот заданных при инициализации и высот получаемых при первой пририсовке Высоты шапки подвала и строк корректируются при END TSBROSE вызовом SetHeights( Self ) и число строк расчитывается из этих условий скорее всего и формируется значение nRowCount() при первой прорисовке бровса, Затем назначая заголовки футинги и хидеры , или прямо меняя высоту строки через :nHeighCell := вызова SetHeights( Self ) не производится В этом и есть моя догадка ( не проверял ), а при вызове ::Display() или ::Paint() - опять вызов SetHeights( Self ) и все встает в норму. PS позже поковыряю, пока не могу, на работе плотно буду занят

SergKis: Haz пишет:В этом и есть моя догадка ( не проверял ), а при вызове ::Display() или ::Paint() в самую точку MAGAZIN.oBrw.Height -= 12 // nGetHole oBrw:Paint() // Display() решают проблему прорисовки (Refresh нет), а с листанием, может мой глюк, новый лист от nRowCount+1 в TsBrowse


Dima: SergKis пишет: oBrw:Paint() // Display() решают проблему прорисовки (Refresh нет) Да я про это ранее писал что решает )) Хотелось понять "кто" рисует фантомную (заполненную) строку.

SergKis: Dima пишет:Да я про это ранее писал что решает )) В моем примере (не твой модифицированный) с реальным скролингом, фантомная строка есть, но она пустая, а тут HScroll есть, а скролинга нет происходит накладка и ты писал, когда я со своим возился, ну и сам понимаешь склероз догнал Haz разложил по полочкам

Dima: SergKis пишет: ну и сам понимаешь склероз догнал аналогично + Остеохондроз

Haz: Dima пишет: Да я про это ранее писал что решает На основе твоих записей догадка и появилась Dima пишет: Хотелось понять "кто" Скорее всего это END TSBROWSE Видимо пересчет высот надо делать после любого изменения высоты строк или значений заглловков и футингов. Может потребуется все назначения делать через новые методы типа ::SetHeightCell () и пр. которые должны вызавать этот пересчет

Dima: Haz Следующее поколение ("Клинского , Пепси и 1С") читая этот форум ни черта не поймет о чём мы это тут трём

Andrey: Dima пишет: Следующее поколение ("Клинского , Пепси и 1С") читая этот форум ни черта не поймет о чём мы это тут трём Это поколение просто отрицает само существование всех xBase языков... Им подавай только те языки , которые в топе всяких опросов и рекомендаций всяких центров...



полная версия страницы