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

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

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

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

Dima: SergKis Собственно я пока играюсь что бы понять как и что Конструкция примерно такая [pre2] Func NEW_Magaz(nmag,cTitle) DEFINE WINDOW MAGAZIN.......... if nmag==1 Magaz_po("MAGAZIN") // а тут в этой функции дефайню бровс который живет в окне MAGAZIN // и как бы не хотелось находясь в функции NEW_Magaz дергать сам бровс //после END WINDOW и все хотел сделать в Magaz_po() endif END WINDOW DoMethod("MAGAZIN","Activate") Return nil [/pre2]

SergKis: Попробуй через метод resize перед action nSizeType := 0 nWidth := Form_1.oBrw5.Width nHeight := Form_1.oBrw5.Height oBrw:ReSize( nSizeType, nWidth, nHeight ) в нем пересчет идет с учетом nAdjColumn

Dima: SergKis пишет: Попробуй через метод resize перед action Сработало но как то "криво".......ладно бог с ним гориз.скролом , пусть живет ;)


SergKis: Dima пишет:Конструкция примерно такая Строю примерно так: Function Wnd_Child_Kassa(...) или Wnd_Modal_Kassa(...) Before_Wnd() // действия перед окном подчитываем что надо для работы Create_Wnd(...) // DEFINE WINDOW ... IF lErr MsgStop("Чего то не сраслось", "ERROR") ELSE Create_Menu() // созд.меню Create_TBar()// созд.toolbar Create_SBar() // statusbar Create_Brw1() Create_Brw2() или для окна ввода данных Create_Lbl_Get() ENDIF After_Create_Wnd() Show() After_Wnd() RETURN Static function Before_Wnd() ... Static function Create_Wnd() ... Static function Create_Menu() ... Static function Create_TBar() ... Static function Create_SBar() ... Static function Create_Brw1() ... Static function Create_Brw2() ... Static function Create_Lbl_Get() ... Static function After_Create_Wnd() END WINDOW действия перед ACTIVATE ... Static function Show() ACTIVATE ... ... Static function After_Wnd() ...

Dima: SergKis Понял. Сенкс !

Dima: До кучи так сказать. Это я исключительно про TSBrowse. Как в обычном не знаю , да и не нужно пока. Вот такое присвоение делать не следует если использовать nAdjColumn oBrw:aColumns[ 1 ]:nWidth:=470 Правильно вот так oBrw:SetColSize( 1, 470 )

SergKis: Dima пишет: делать не следует если использовать nAdjColumn я делал без nAdjColumn (и горизонт. scroll) так (TsBrowse) w := oBrw5:GetAllColsWidth() Form_1.Width := w+GetVScrollBarWidth()+GetBorderWidth()+10 // 10 - отступ справа, слева такой тоже есть Form_1.oBrw5.Width := w

Dima: SergKis пишет: w := oBrw5:GetAllColsWidth() Так тоже не совсем правильно , так как учтены будут все колонки в том числе скрытые и ширина установится не правильно. SergKis пишет: я делал без nAdjColumn что бы делать с ним корректно надо чуть поправить сырец h_tbrowse.prg в METHOD TSBrowse:ReSize()

SergKis: Dima Ты прав, я же у себя окно притягиваю к tsbrowse (колонки все на окне), но где то видел как получить только видимые колонки

Dima: SergKis Это правка сырца [pre2] AEval( ::aColumns, {|n| IF( n:lVisible, nTotPix += n:nWidth, nil ) } ) Copyright Has [/pre2]

SergKis: Dima пишет:Это правка сырца а она решает проблемку при oBrw5:lNoHScrol := .T.

Dima: SergKis пишет: а она решает проблемку при oBrw5:lNoHScrol := .T. Нет. Это решает проблему корректного выравнивания. Это установка у меня живет в коменте // oBrw5:lNoHScrol := .T.

SergKis: т.е. :Resize(...) Сработало но как то "криво".......ладно бог с ним гориз.скролом , пусть живет

Dima: SergKis пишет: т.е. :Resize(...) Да

SergKis: Dima Спасибо

Dima: Сергей полный текст правки [pre2] // AEval( ::aColSizes, {|n| nTotPix += n } ) // это было AEval( ::aColumns, {|n| IF( n:lVisible, nTotPix += n:nWidth, nil ) } ) // добавлено do events // добавлено , удивительно но в ряде случаев без этого не работает [/pre2]

SergKis: Dima пишет:Сергей полный текст правки Спасибо. Загнал к себе. Правда TsBrowse отложил пока. Вроде пару недель прошло, а отключился от него сильно, да еще жара 31 ...

Dima: Да в жару сложно думать и работать. Включи кондей ! ЗЫ У нас дождик , прохладно....красота. В этом году кондей еще не включал ;)

SergKis: Dima Включил, но еще первый раз в этом году (еще 2-а дня назад было прохладно). Но пока со второго этажа дойдет ... (я на огороде) Наверно надо перенести посты по общим вопр. TsBrowse (крайние) в тему TsBrowse. А то плавно засорили эту темеу др. вопросами, ну флуд удали, если возможно

Dima: Кому надо тот найдет. Тем более тут в названии фигурирует TSBROWSE. Поиск по TSBROWSE покажет и эту тему. А не много флуда это нормально ;)



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