Отправлено: 10.04.20 16:38. Заголовок: Реализация LITEBAR в TBrowse
Вопрос к нашим экспертам по библиотеке TSBrowse:
Как средствами TBrowse создать LITEBAR с 1-й по 5-ю колонку, поскольку в 6-й располагается цветной индикатор-светофор, и поэтому курсор не должен на него выходить, его (этот столбец) надо заморозить
Отправлено: 11.04.20 11:52. Заголовок: gfilatov2002 пишет п..
gfilatov2002 пишет
цитата:
поскольку в 6-й располагается цветной индикатор-светофор, и поэтому курсор не должен на него выходить, его (этот столбец) надо заморозить
Не очень понял с 6-ой колонкой. При скролинге экрана она одна заморожена в 6-ой позиции, а колонки меняются с 1 по 5 и далее с 7-ой ? Или nFreeze := 5 и при попытке ставить фокус на 6-ю переставляем на 7-ю, или оставляем на 5-ой ? Мой вариант (на примере APP_OOPCOLUMNS) только по цвету
Отправлено: 11.04.20 14:35. Заголовок: SergKis пишет: Не о..
SergKis пишет:
цитата:
Не очень понял с 6-ой колонкой. При скролинге экрана она одна заморожена в 6-ой позиции, а колонки меняются с 1 по 5 и далее с 7-ой ?
Шестая колонка должна быть заморожена, и должно быть движение курсора только с первой по пятую колонку. Всего в таблице находится шесть колонок Как я понимаю, надо правильно установить блок кода oCol:bGotFocus по совету Игоря: если колонка больше 5, то вернуть 5
Отправлено: 11.04.20 15:40. Заголовок: Haz пишет самое прос..
Haz пишет
цитата:
самое простое в данной ситуации
Согласен, :bOnDraw, это самое простое. Только, если колонок больше 6, то лучше так :bOnDraw := { |ob| if( ob:nCell > 5, ( ob:nCell := 5, ob:DrawSelect() ), nil) }
фокус на колонке 6 всегда и цвет курсора как фона тсб
Спасибо, в примере из папки APP_OOPCOLUMNS получилось сделать непрерывный курсор с 1-й по 5-ю колонку, используя :nFreeze. А вот при работе с массивом такой курсор не виден. Контрольный пример - ниже. Скрытый текст
DEFINE TBROWSE oGrid_Fases AT 20,10; WIDTH 430 HEIGHT 395 CELLED; Font "Arial" Size 9; ToolTip "Identificaзгo das fases, conforme quantidade de fases."; Colors {RGB_AZULESCURO, bColor}; BackColor CINZA10
oGrid_Fases:SetArray( aFases )
ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 1; TITLE "" SIZE 20 ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 2; TITLE "Seq" SIZE 30 ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 3; TITLE "Descriзгo da Fase" SIZE 140 ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 4; TITLE "Data Inнcio" SIZE 90 ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 5; TITLE "Data Fim" SIZE 90 ADD COLUMN TO TBROWSE oGrid_Fases DATA ARRAY ELEMENT 6; TITLE "Peso" SIZE 40 CHECKBOX EDITABLE // this column is editable
oGrid_Fases:lNoChangeOrd:= .T. && Desativa a Classificaзгo pelo Cabeзalho oGrid_Fases:lNoPopup := .T. && Desativa Menu pelo Botгo Direito no Cabeзalho oGrid_Fases:lPickerMode := .F. && Desativa o modo de preenchimento no campo data
Отправлено: 11.04.20 19:25. Заголовок: PS Убрал все установ..
PS Убрал все установки цвета в примере, оставил только oGrid_Fases:SetColor( { 6 }, { { |a,nc,ob| If( ob:nCell == nc, -CLR_HRED, -RGB(128,225,225) ) } } ) -CLR_HRED есть -RGB(128,225,225) нет похоже надо разбираться
Все даты в формате GMT
3 час. Хитов сегодня: 223
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет