On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Vlad04
постоянный участник


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

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


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....



Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Dima
администратор




Пост N: 6355
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.04.17 15:16. Заголовок: Andrey Рассчитывай ..


Andrey
Рассчитывай ширины столбцов так , что бы не было виртуального столбца , тогда и красить ни чего не придется.

PS
Или юзай nAdjColumn

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5352
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.04.17 15:33. Заголовок: Dima пишет: Рассчит..


Dima пишет:

 цитата:
Рассчитывай ширины столбцов так , что бы не было виртуального столбца , тогда и красить ни чего не придется.



Есть справочники состоящие из 2 колонок всего.
Так что без виртуального столбца на экране никак не обойтись.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1081
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.04.17 16:43. Заголовок: Andrey пишет: Так ..


Andrey пишет:

 цитата:
Так что без виртуального


См obrw:hBrush в примерах

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6356
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.04.17 16:44. Заголовок: Andrey Где то была ..


Andrey
Где то была процедура заливки фантома (строки и столбца) , Has показывал , но с ходу
не найду
Еще можно попробовать поиграть с фантомным столбцом через объект oPhant (это я по быстрому на сырец глянул)


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5353
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.04.17 20:10. Заголовок: Haz пишет: См obrw:..


Haz пишет:

 цитата:
См obrw:hBrush в примерах



Нашёл. Поставил себе - не работает !!!

Делаю у себя 10 колонку:
      ADD COLUMN TO oBrw1 HEADER "Lang"       ; 
..........
COLOR CLR_BLACK, CLR_WHITE ;
.....

Потом ставлю для блокировки цвета ещё 11 колонку:
     // для избавления от белого цвета конца таблицы 
ADD COLUMN TO oBrw1 HEADER "" ;
DATA {|| NIL } ;
SIZE 0 ;
COLOR nBackTable, nBackTable ;
NAME ZERO

Только тогда цвет виртуального столбца становиться в цвет фона таблицы.
Но на экране некрасиво это выглядит, да и курсор туда убегает (становиться невидимым) - юзер теряться будет.....



Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6357
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 14.04.17 21:28. Заголовок: Andrey пишет: Тольк..


Andrey пишет:

 цитата:
Только тогда цвет виртуального столбца становиться в цвет фона таблицы.
Но на экране некрасиво это выглядит, да и курсор туда убегает (становиться невидимым) - юзер теряться будет.....


Растягивай первую колонку что бы не было фантомной.


Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1082
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 14.04.17 23:21. Заголовок: Andrey пишет: Нашёл..


Andrey пишет:

 цитата:
Нашёл. Поставил себе -


Тогда до понедельника

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1083
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.04.17 12:23. Заголовок: Andrey пишет: Толь..


Andrey пишет:

 цитата:

Только тогда цвет виртуального столбца становиться в цвет фона таблицы.
Но на экране некрасиво это выглядит, да и курсор туда убегает (становиться невидимым) - юзер теряться будет.....


А в исходники посмотреть? Там же буквами написано, что фантомная колонка ВСЕГДА красится в цвет той, которая перед ней.
Другого указания цвета фантому в TS нет. Это было к вопросу почему фантом белый

Теперь как исправить. Так же посмотреть в исходники и увидеть что после назначения цвета фантому по последней колонке выполняется ::bOnDrawLine ( если он определен ) и тогда исправить цвет становится просто - в этом блоке вызываем функцию , которая все лечит
oBrw:bOnDrawLine := {|oBrw| SetPhantomBackcColor(oBrw) }


 
FUNC SetPhantomBackcColor(oBrw)
IF oBrw:oPhant <> Nil
oBrw:oPhant:nClrBack := RGB( 111, 183, 155 ) // к примеру пусть будет грязно голубой
end
RETURN NIL



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1084
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.04.17 13:16. Заголовок: Бонус трек


Ну и напоследок бонус трек
Самое простое и очевидное решение, просто поражающее простотой.
Сделать колонку 11 скрытой

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6358
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.04.17 13:23. Заголовок: Haz пишет: Сделать ..


Haz пишет:

 цитата:
Сделать колонку 11 скрытой


Игорь крась яйца уже

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1085
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 15.04.17 13:35. Заголовок: Dima пишет: крась я..


Dima пишет:

 цитата:
крась яйца


Все покрашено с утра
И яйца и фантом, хожу с кисточкой и думаю гдеб еще мазнуть

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6359
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 15.04.17 13:37. Заголовок: Haz :sm54: ..


Haz

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5354
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.04.17 23:30. Заголовок: Haz пишет: Самое пр..


Haz пишет:

 цитата:
Самое простое и очевидное решение, просто поражающее простотой.
Сделать колонку 11 скрытой


Да подумал я об этом, сразу не сделал так как посчитал SIZE 0 будет 0, а не 2-3 пиксела как на экране.
Спасибо за решение !

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1412
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.17 09:17. Заголовок: gfilatov2002 Добави..


gfilatov2002
Добавил, у себя, возмозможность уст. высоту Edit отличную от высоты Cell
 
CLASS TSBrowse FROM TControl
...
DATA nHeightEdit AS NUMERIC INIT 0 // GetBox cell height
...
METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, nClrBack ) CLASS TSBrowse
...
IF ::nColSpecHd != 0
nRow := ::nHeightHead + ::nHeightSuper + If( oCol:l3DLook, 2, 0 )
nCol := nStartX + If( oCol:l3DLook, 2, 0 )
nWidth := ::GetColSizes()[ nCell ] - If( oCol:l3DLook, 2, 1 )
nHeight := ::nHeightSpecHd - If( oCol:l3DLook, 1, -1 )
else
nRow := ::nRowPos - 1
nRow := ( nRow * ::nHeightCell ) + ::nHeightHead + ;
::nHeightSuper + ::nHeightSpecHd + If( oCol:l3DLook, 2, 0 )
nCol := nStartX + If( oCol:l3DLook, 2, 0 )
nWidth := ::GetColSizes()[ nCell ] - If( oCol:l3DLook, 2, 0 )
nHeight := ::nHeightCell - If( oCol:l3DLook, 1, -1 )
If ::nHeightEdit > 0
nI := nHeight - ::nHeightEdit
If nI > 4
nHeight := ::nHeightEdit
nRow += int(nI / 2)
EndIf
EndIf

endif

If oCol:cResName != Nil .or. oCol:lBtnGet
...

Полезно при исп. тсб как аналог списка пар Label+GetBox без линий и с исп. image > 24

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6376
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.04.17 09:20. Заголовок: SergKis Так ее же м..


SergKis
Так ее же можно установить в bPrevEdit с помощью SetGetAdjustBrw , нет ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1413
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.17 09:34. Заголовок: Dima если ты имеешь..


Dima
если ты имеешь ввиду aEditCellAdjust := {0,0,0,0}, то да, так можно управлять, но в моей версии этого нет и ...
тогда предложение снимаю.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6377
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.04.17 09:56. Заголовок: SergKis я имел в ви..


SergKis
я имел в виду примерно такой код
 
obrw3:GetColumn("cod"):bPrevEdit := { |a, b, lLock| SetGetAdjustBrw(b,{2,0,-2,-3}) .............


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1414
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.17 10:22. Заголовок: Дима, где есть SetG..


Дима, где есть SetGetAdjustBrw(...) ? Просканировал MiniGui, не получил результата.
Потом bPrevEdit исп. для простой ситуации (а если много колонок) ..., слишком сложно.
В целом имея высоту getbox мне хватает того, что у себя сделал. А ширина всегда по ширине cell,
этим манипулирует пользователь, а я - picture

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6378
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 19.04.17 10:34. Заголовок: Сергей я тупанул :s..


Сергей я тупанул
Это я свою функцию заюзал
Func SetGetAdjustBrw(o,amas)
o:aEditCellAdjust[1]:=amas[1]
o:aEditCellAdjust[2]:=amas[2]
o:aEditCellAdjust[3]:=amas[3]
o:aEditCellAdjust[4]:=amas[4]
return .t.

Ты был прав насчет aEditCellAdjust


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1415
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.04.17 10:48. Заголовок: Дима, зачем ты в это..


Дима, зачем ты в это делаешь в bPrevEdit, разве не достаточно простого на весь tsb
nHget := 22
nH := :nHeightCell - nHget
If nH > 4
:aEditCellAdjust[1] := int(nH / 2)
:aEditCellAdjust[4] := nHget
EndIf
для мультистрок будет своя высота пересчитана, а для др. ситуаций сделанного, достаточно

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 242
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет