On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
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 [только новые]


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




Пост N: 817
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.02.16 11:11. Заголовок: SergKis пишет: так ..


SergKis пишет:

 цитата:
так вроде не сложно:


Сергей, отлично все сделал и реально не сложно.
Я под "подумать" имел ввиду, а нужен ли такой функционал вообще. Да он дает гибкость чекбоксам , но в силу логики тогоже чекбокса имеет только 2 состояния.
Думаю все же полезен будет т.к. на будущее не оставляю идею сделать раскрывающееся дерево на базе TS а там значки [+] и [-] будут.
Так же на потом оставил чекбокс с тремя состояниями true. false. nil т.к. работаю с ADS а там как порядочной SQL есть NULL

Подождем что скажет Григорий про aColumns:[]:aCheck

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




Пост N: 871
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.02.16 11:55. Заголовок: Haz пишет: а нужен л..


Haz пишет:
 цитата:
а нужен ли такой функционал вообще ..
... чекбокс с тремя состояниями true. false. nil


функционал нужен (разные image в колонках) и с тремя состояниями тоже
вот доработал по случаю
 
METHOD DrawLine( xRow ) CLASS TSBrowse
...
Local cCheckType, nCheckLen

...
было
lCheck := oColumn:lCheckBox .and. ValType( uData ) == "L" //V90

If lCheck .and. ValType( uData ) == "L"
cPicture:= ""
nVertText := If( uData, 3, 4 )
EndIf

стало
lCheck := oColumn:lCheckBox
cCheckType := ValType( uData )

If lCheck .and. cCheckType == "L"
cPicture:= ""
nVertText := If( uData, 3, 4 )
EndIf

было
If lCheck
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 )}
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
EndIf

стало
If lCheck
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 )}
If Valtype(oColumn:aCheck) =="A"
nCheckLen := Len(oColumn:aCheck)
If cCheckType == "L" .and. nCheckLen > 1
hBitMap := oColumn:aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
ElseIf nCheckLen > 2
hBitMap := oColumn:aCheck[ 3 ]
EndIf
ElseIf cChecType == "L"
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
EndIf
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
EndIf



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




Пост N: 872
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.02.16 11:59. Заголовок: PS. ошибочка закрала..


PS.
ошибочка закралась
 
ElseIf cCheckType == "L"
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
EndIf


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




Пост N: 4753
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.16 15:33. Заголовок: Прикрутил к полю выб..


Прикрутил к полю выбор из меню:


Через DEFINE CONTEXT MENU OF &cForm


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




Пост N: 4754
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.16 16:08. Заголовок: Вот вопрос возник: h..


Вот вопрос возник:


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




Пост N: 873
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 28.02.16 17:01. Заголовок: Andrey пишет:Вот воп..


Andrey пишет:
 цитата:
Вот вопросик ...


вот ответик, в TsColumn.prg
...
DATA uBmpCell // bitmap in cell (oBmp, hBmp or bBlock)
DATA uBmpFoot // bitmap in footer (oBmp, hBmp or bBlock)
DATA uBmpHead // bitmap in header (oBmp, hBmp or bBlock)
DATA uBmpSpcHd // bitmap in special header (oBmp, hBmp or bBlock)


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


Пост N: 206
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 28.02.16 21:02. Заголовок: Haz пишет: Думаю вс..


Haz пишет:

 цитата:
Думаю все же полезен будет т.к. на будущее не оставляю идею сделать раскрывающееся дерево на базе TS а там значки [+] и [-] будут.


Вот такой бровс с деревом в FWH



если надо , могу исходник бровса прислать :)

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




Пост N: 4755
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.02.16 21:12. Заголовок: SergKis пишет: вот ..


SergKis пишет:

 цитата:
вот ответик, в TsColumn.prg


Спасибо ! Не сообразил сразу там посмотреть !

Использую прозрачный PNG. Может по другому надо ?

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




Пост N: 818
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 28.02.16 21:17. Заголовок: ММК пишет: если над..


ММК пишет:

 цитата:
если надо , могу исходник бровса прислать :)



Ага
Скинь в почту 047545(собака)mail(точка)ru плиз или ссылку на облако дай. Скачаю с интересом гляну как там реализовано.
Мне нужно дерево с ветвями до восьмого уровня, пока не пойму как его сделать , пока на фильтрах пытаюсь делать

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




Пост N: 4756
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.03.16 14:49. Заголовок: Григорий ! Предлага..


Григорий !
Предлагаю код, который сделал SergKis поместить в исходник TsBrowsa !
Скрытый текст

Я в своё время намучился, но так и не сделал такую функцию.



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




Пост N: 822
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.03.16 13:18. Заголовок: Andrey пишет: // ко..


Andrey пишет:

 цитата:
// координаты и размеры ячейки TsBrowse


Два вопроса :
1) а если ячейка за пределами окна бровса , что вернет ?
2) Для чего нужно ?


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




Пост N: 874
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.03.16 13:44. Заголовок: Haz пишет:1) а если ..


Haz пишет:
 цитата:
1) а если ячейка за пределами окна бровса , что вернет ?
2) Для чего нужно ? /quote]
1) проверяешь сам видима\не видима колонка
2) для доп. действий на Edit
3) для реализации external edition
...
 

If oCol:bExtEdit != Nil // external edition

::lNoPaint := ::lEditing := .F.
uVar := Eval( oCol:bExtEdit, uValue, Self )
::lChanged := ValType( uVar ) != ValType( uValue ) .or. uVar != uValue
::lPostEdit := .T.
::oWnd:nLastKey := VK_RETURN
::PostEdit( uVar, nCell, bValid )
Return Nil
EndIf


пример на базе Tsb_array_2 Скрытый текст


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




Пост N: 875
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.03.16 13:46. Заголовок: PS вкл. Edit на коло..


PS
вкл. Edit на колонке 7

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




Пост N: 823
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.03.16 14:35. Заголовок: Сергей привет Serg..


Сергей привет

SergKis пишет:

 цитата:
проверяешь сам видима\не видима колонка


1) а не проще сразу ::nCell использовать ? ( сам отвечу, проще но так универсальнее )
2) как использовать и для чего я сразу понял , т. к. делал почти тоже но уже из oEdit объекта

PS Пример хороший , сам присматривался к получению координат по аналогии с методом ::Edit()
,как раз то что ты реализовал.

PSS правда не увидел в нем внешнего редактирования )

Григорий , действительно полезная функция, добавьте в библиотеку пожалуйста
Пра мыслей как можно ее использовать
1) Организация всплывающий подсказок при редактировании ячейки
2) Псевдо комбобоксы под ячейкой ( бровс по вариантам )



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




Пост N: 876
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.03.16 14:55. Заголовок: Haz пишет: а не прощ..


Haz пишет:
 цитата:
а не проще сразу ::nCell использовать ?


не всегда нужен ::nCell иногда нужен nCell - 2 и т.д. и т.п.
Haz пишет:
 цитата:
делал почти тоже но уже из oEdit объекта


в bPrevEdit, bExtEdit нет oEdit, потому нужен механизм размеров (в моем проекте это метод ::GetCellSize(...))
Haz пишет:
 цитата:
правде не увидел в нем внешнего редактирования


под BROWSE такой механизм (несколько GetBox на Label) работает, почему тут не будет ?
что исп. для внешнего редактирования GetBox или др. TSB - по ситуации

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




Пост N: 824
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.03.16 15:04. Заголовок: SergKis пишет: пото..


SergKis пишет:

 цитата:
потому нужен механизм размеров (в моем проекте это метод ::GetCellSize(...))



Сергей , раз уж начал .....
Может в метод переделаешь
METHOD GetCellInfo()

Возвращает объект oCell c данными ( примерно эти , дальше нарастет по необходимости )
::nRow
::nCol
::nWidth
::nHeight

и код из твоего примера станет таким
oCell := oBrw:GetCellinfo(nRowPos, nCell, lSH)
nY := oCell:nRow + If( lSH, 0, oCell:nHeight )
nX := oCell:nCol
nW := oCell:nWidth
nH := oCell:nHeight

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




Пост N: 877
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.03.16 20:22. Заголовок: Haz пишет:Может в ме..


Haz пишет:
 цитата:
Может в метод переделаешь
METHOD GetCellInfo()


хорошее название - сделаю

пример на 2-а GetBox для ввода в 7-ю колонку (Label не прикрутил - прорисовка линий на нем от TSB)
Скрытый текст


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




Пост N: 878
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.03.16 21:19. Заголовок: Haz переделал CLAS..


Haz
переделал Скрытый текст


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




Пост N: 825
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 02.03.16 22:33. Заголовок: SergKis пишет: пере..


SergKis пишет:

 цитата:
переделал


отлично
теперь с форума будем собирать идеи по наполнению класса CLASS TSBcell

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 891
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 02.03.16 22:33. Заголовок: SergKis пишет: пере..


SergKis пишет:

 цитата:
переделал


Благодарю за помощь
Подключил новый метод к классу, проверил работу примера с этим методом - полет нормальный

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