Форум » GUI » TsBrowse в Минигуи (продолжение) » Ответить

TsBrowse в Минигуи (продолжение)

Vlad04: TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру [quote] DEFINE TBROWSE oBrw2 ; AT 60,450 ; ALIAS cAlias ; OF Form1 ; WIDTH 330 ; HEIGHT 340 ; FONT "Verdana" ; SIZE 9 ; ON DBLCLICK CopyRec(); ON GOTFOCUS fModelo_Hab(2) ; AUTOFILTER ; CELLED EDIT; VALUE nRec; GRID [/quote] Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

SergKis: Dima пишет:Похоже не катит Можно пробовать через WM_SETREDRAW, но это копать надо (и прокатит ли): [pre2] // BAA HB_FUNC( LOCKREDRAW ) { HWND hWnd = ( HWND ) hb_parnl( 1 ); if( hb_parl(2) ) SendMessage( hWnd, WM_SETREDRAW, 0, 0); // .T. - блокировать else SendMessage( hWnd, WM_SETREDRAW, 1, 0); // .F. - разблокировать } [/pre2]

SergKis: Dima пишет:А в обычном бровсе не TS , супер хидер возможен ? Сделать двойной курсор можно ? Нет и многострочную строку тоже нельзя. Я горожу (1,2 места) простенький суперхидер от размеров колонок на базе ButtonEx, но сам понимаешь ...

Dima: Прокатило LOCKREDRAW(GetControlHandle('oBrwm','MAGAZIN'),.T.) только после этого бровс не рисуется совсем. куда ее правильно пристроить ?


SergKis: Dima пишет:куда ее правильно пристроить ? Вот тут и копать начинать надо Я не очень влез в тексты TsBrowse, что бы ответить

Dima: Ладно пробну пихнуть ее METHOD Display() CLASS TSBrowse [pre2] ::BeginPaint() ::Paint() ::EndPaint() [/pre2] Перед ::Paint() включу а после выключу

Dima: Сделал , шустрее бровс не стал ))))

SergKis: Dima пишет:Сделал , шустрее бровс не стал И не должен. Этим можно убрать мелькание.

Dima: SergKis пишет: Этим можно убрать мелькание. Оно осталось ;) Таблица не мерцает а вот курсор да.

SergKis: Dima Pasha писал Еще tbrowse любит все время опрашивать RecCount(), на каждой записи... может еще в эту сторону смотреть для увеличения быстроты А по поводу мерцания ничего не скажу - нет мыслей

Dima: SergKis пишет: Еще tbrowse любит все время опрашивать RecCount(), я пока на массиве юграю , поэтому RecCount() не при делах. Всё мысли и у меня кончились......с утра думал минут 5 поиграть а уже скоро 16-00 ))

SergKis: Dima пишет:с утра думал минут 5 поиграть а уже скоро 16-00 Вот и я волевым усилием отложил TsBrowse, а то сядешь играть ..., а неделя прошла. Работа стоит, а время идет (c)

Dima: SergKis пишет: сядешь играть ..., а неделя прошла. Это точно Смотрю там всем рисованием занимается сишная функция HB_FUNC( TSDRAWCELL ) возможно надо там копать , но в сях я не силен.

Dima: Еще вопрос по TS Если зажать и держать PGDN , то листается не весь бровс целиком как ожидалось а только в пределах строки курсора. Этот эффект как то отключается ? Смотрел oBrw:lPageMode , это не то. PS Глянул , не отключается. Только лишь переделкой лечится.

Andrey: Стрес-тест для TBROWSA. Открываю базу через инет (Leto) - 5 миллионов записей, при создании окна и TBROWSA тормозит немного 5-7 сек., но ничего открывает по выбору 97 тыс. записей... маркер немного вальяжно ходит... Но этоже всётаки 97 тыс. записей в бровсе.... Единственно глюк - на скролинге не отображается положение в базе и если за него подвигать вверх/вниз - ВИСНЕТ НАГЛУХО ! Что там можно исправить ? Исходники здесь - https://cloud.mail.ru/public/6Tw4/JGGSA941Q

Dima: Andrey пишет: Открываю базу через инет (Leto) Лето не у всех установлен , так что давай тест под CDX PS Копирайт рано вешать )))

Andrey: Dima пишет: Лето не у всех установлен , так что давай тест под CDX Там переключатель есть на DBFCDX, будет работать стандартный драйвер. Только при первом запуске надо кнопку "колёсико" выбрать и указать кол-во записей для создания базы ! Если заново нужно создать базу, то нужно удалить уже созданную базу. Копирайт потом общий повешу, без вашей общей помощи - не создал бы такой тест !

SergKis: Andrey пишет:Что там можно исправить ? -установить RddInfo( RDDI_BUFKEYCOUNT, <lSet>,, [nConnection] ) По умолчаниюю флаг RDDI_BUFKEYCOUNT не установлен. Если он не установлен, функция ordKeyCount() запращивает значение количества ключей с сервера, если установлен - использует последнее значение, полученное с сервера. RddInfo( RDDI_BUFKEYNO, <lSet>,, [nConnection] ) По умолчаниюю флаг RDDI_BUFKEYNO не установлен. Если он не установлен, функция ordKeyNo() запращивает значение сервера, если установлен - использует последнее значение, полученное с сервера. -убрать OdKeyCount из on change -не знаю как skip буффер заполняется данными из fpt, но я бы мах избавился от memo полей, с инф. типа адрес, телефон, ...

Andrey: SergKis пишет: -не знаю как skip буффер заполняется данными из fpt, но я бы мах избавился от memo полей, с инф. типа адрес, телефон, ... Ну это сложно. Юзера вечно хотят свои примечания писать. Адрес, телефон в этом тесте просто выступают как образец. А так конечно согласен, чем меньше мемо, тем лучше. SergKis пишет: RddInfo( RDDI_BUFKEYCOUNT, <lSet>,, [nConnection] ) А в каком месте программы ? Там где Leto коннектится или в другом месте ?

SergKis: Andrey пишет:Ну это сложно. Юзера вечно хотят свои примечания писать У нас "хвост управляет собакой" или наоборот ? Я делаю поле через разделитель ~0.5k-3k как для aTokens Там где Leto коннектится или в другом месте ? RddInfo - инф. для rdd, вот и ставь соответственно

Dima: Сергей а ништяки типа RDDI_BUFKEYNO , RDDI_BUFKEYCOUNT это для Leto только ? Посмотрел DBINFO.CH там нет такого.



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