Форум » 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:....
Vlad04: Andrey Я выше уже писал: "В нем есть функция обработки всех клавиш MyKeyAction(). Мне надо отловить события перемещения по Бровз : Up, Down и др. На них хочу повесить действие. А MyKeyAction их не отлавливает
Vlad04: Достиг цели- повесил действие на событие ON CHANGE для TBROWS. По видимому оно всегда генерируется .
Haz: Vlad04 пишет: Мне надо отловить события перемещения по Бровз : Up, Down и др. На них хочу повесить действие. Попробуй так, возможно подойдет , отлавливает не сами перемещения а последствия этих перемещения oBrw:bOnDraw := { || Action() }
Haz: Haz пишет: повесил действие на событие ON CHANGE onchange не ловит перемещения по строке
Andrey: Vlad04 пишет: Мне надо отловить события перемещения по Бровз : Up, Down и др. На них хочу повесить действие. А что за действие на эти клавиши хочешь отловить ?
Vlad04: Andrey А что за действие на эти клавиши хочешь отловить ? Очищать переменную с результатами поиска Обновлять на форме значения из таблица, которые не отображены в Бровзе
a_sidorov: Для получения символа из кода клавиши nKey: &cBrw:bKeyDown := { | nKey | MyKeyAction(nKey,cBrw, cParent, 0), lOk := nKey != VK_ESCAPE } Vlad04 пишет: Независимо от раскладки клавиатуры всегда возвращает англиЦкие. Так должно быть ? Смотри пример, только для получения маленьких буковок исправь символы в массивах. MiniGUI\SAMPLES\BASIC\IncrementalSearch Функция Static Function KeyToChar( nVirtKey )
Vlad04: a_sidorov Хорошая подсказка. Пример с бровз почти готов. Остались мелочи- стрелочки (порядок индексирования) на заголовках столбцов на изменения с клавиатуры - не геагирует.
Andrey: Vlad04 пишет: Остались мелочи- стрелочки (порядок индексирования) на заголовках столбцов на изменения с клавиатуры - не геагирует. Возьми с примера Tsb_dir, я здесь где то выкладывал его.
Andrey: Есть хороший пример :\MiniGUI\SAMPLES\BASIC\SavePos А как бы сделать настройку цветов для TBROWSE по такому же принципу ? Для начала - есть ли возможность вывести ВСЕ переменные цвета в TBROWSE ?
Haz: Andrey пишет: Для начала - есть ли возможность вывести ВСЕ переменные цвета в TBROWSE все цвета в данных :aColumns[] DATA nClrFore, nClrBack // cell colors DATA nClrHeadBack, nClrHeadFore // headers colors DATA nClrSpcHdBack, nClrSpcHdFore,nClrSpcHdActive // special headers colors DATA nClrFocuBack, nClrFocuFore // focused cell colors DATA nClrEditBack, nClrEditFore // editing cell colors DATA nClrFootBack, nClrFootFore // footers colors DATA nClrSeleBack, nClrSeleFore // Focused inactive colors DATA nClrOrdeBack, nClrOrdeFore // order control column colors DATA nClr3DLCell, nClr3DLHead, nClr3DLFoot, nClr3DLSpcHd // light color for 3d text DATA nClr3DSCell, nClr3DSHead, nClr3DSFoot, nClr3DSSpcHd // shadow color for 3d text а метод Setcolor() их назначает см исходник
Andrey: Haz пишет: все цвета в данных :aColumns[] А как их в цикле вывести допустим в файл или массив ?
SergKis: Andrey пишет:А как их в цикле вывести допустим в файл или массив ? hb_memowrit("All_Columns.txt", hb_valtoexp(oBrw:aColumns)) - весь массив aColumns [pre2] a := {} for i := 1 to len(oBrw:aColumns) aAdd(a, {oBrw:aColumns[ i ]:nClrFore, ; oBrw:aColumns[ i ]:nClrBack, ; oBrw:aColumns[ i ]:nClrHeadBack, ; и далее по списку, ; ) next hb_memowrit("All_Color.txt", hb_valtoexp(a)) - весь массив цветов [/pre2]
SergKis: SergKis пишет:hb_memowrit("All_Columns.txt", hb_valtoexp(oBrw:aColumns)) - весь массив aColumns это я погорячился. в aColumns - объекты для каждой колонки. в объекте колонки есть методы SaveColor() и RestColor(). Сохранить: a := {} for i := 1 to len(oBrw:aColumns) oCol := oBrw:aColumns[ i ] oCol:SaveColor() aAdd(a, oCol:aColorsBack) next hb_memowrit("Col_Color.txt", hb_valtoexp(a)) Восстановить: a := &( hb_memoread("Col_Color.txt") ) for i := 1 to len(oBrw:aColumns) oCol := oBrw:aColumns[ i ] oCol:aColorsBack := a[ i ] oCol:RestColor() next
Andrey: SergKis пишет: это я погорячился. в aColumns - объекты для каждой колонки. в объекте колонки есть методы SaveColor() и RestColor(). Спасибо БОЛЬШОЕ ! Буду пробовать....
SergKis: Andrey пишет:Буду пробовать.... смотри TsColumn.prg. обрати внимание - в методах SaveColor() и RestColor() не задействован oCol:aColorsBack[20], элемент oCol:nClrSpcHdActive - не знаю насколько он важен ...
gfilatov2002: SergKis пишет: в методах SaveColor() и RestColor() не задействован oCol:aColorsBack[20], элемент oCol:nClrSpcHdActive Благодарю за сообщение! Поправил для следующей сборки
Vlad04: Пример Почти рабочий пример(pass 654321) 3 базы открываются используя 1 программник Часть инструкций вынесены во внешний файл.В консоле я всё выносил полностью. Остались проблемы. Стрелочки на заголовках столбцов , ну и другие мелочи. Сортировка меняется по F3.
Andrey: Во многих примерах есть удобные кнопки навигации по TBROWSE. Какой лучше делать для своего ? Нужно с *.ICO и надпись !
SergKis: Andrey пишет:Какой лучше делать для своего ? А что не так в примерах (для использования) \SAMPLES\BASIC\TOOLBAR, TOOLBAR_1, ..., ToolBarEx_2 ?
полная версия страницы