On-line: Alex_Cher, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
gfilatov
модератор




Пост N: 699
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)


Начало темы находится здесь, а теперь

АНОНС * АНОНС * АНОНС * АНОНС * АНОНС

Готовится к опубликованию новая сборка №48, которая выйдет в конце недели.
Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне

Кратко, что нового:

- исправление обнаруженных ошибок и неточностей кода;
- новый класс HEADERIMAGE для Grid и Browse;
- свойство Address в Hyperlink может теперь открывать папку или файл на диске;
- добавлен NOTABSTOP класс для Browse;
- поддержка пользовательских компонентов (заимствована из оффициального релиза);
- расширения и исправления в библиотеках TsBrowse и PropGrid;
- обновлены сборки Харбор и HMGS-IDE;
- новые и обновленные старые примеры (как обычно ).




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


SergKis
постоянный участник




Пост N: 1861
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.06.18 11:55. Заголовок: gfilatov2002 У себя..


gfilatov2002
У себя сделал
 
CLASS TWndData
...
METHOD Hide() INLINE _HideWindow( ::cName )
METHOD SetFocus( xName ) INLINE iif( empty(xName), SetFocus(::nHandle) , ::GetObj(xName):SetFocus() )

METHOD SetSize( y, x, w, h ) INLINE _SetWindowSizePos( ::cName, y, x, w, h )

Переключать фокус на контрол окна
oWnd:SetFocus('oBrw')
focus на tsb


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




Пост N: 1295
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.18 12:28. Заголовок: SergKis пишет: У се..


SergKis пишет:

 цитата:
У себя сделал


OK, принято

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




Пост N: 1862
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.06.18 15:03. Заголовок: gfilatov2002 Пример..


gfilatov2002
Пример довел до какой то кондиции. http://my-files.ru/923enb
Старое не сломалось (вроде), новое работает.
Показал, как избавиться от public переменных базы колонок.
На модальных окнах справ. включается edit (не ключевые поля)

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




Пост N: 1296
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.18 15:23. Заголовок: SergKis пишет: Прим..


SergKis пишет:

 цитата:
Пример довел


Очень хорошо!

SergKis пишет:

 цитата:
Старое не сломалось (вроде), новое работает.


У меня работает тоже

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




Пост N: 1863
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 11.06.18 16:02. Заголовок: gfilatov2002 Добавь..


gfilatov2002
Добавьте строку в пример (у меня автоматом уст. в lib, в hmg забываю ставить)
 
FUNC Tsb_Create( cName, nY, nX, nW, nH, aCols )
...
:lFooting := .T.
:lNoKeyChar := .T.

:lNoVScroll := .F.
...


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




Пост N: 1297
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.06.18 16:18. Заголовок: SergKis пишет: Доба..


SergKis пишет:

 цитата:
Добавьте строку в пример


Благодарю, уже добавил...

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




Пост N: 1864
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 08:30. Заголовок: gfilatov2002 Сделал..


gfilatov2002
Сделал вариант
 
#xcommand DEFINE TBROWSE <name> TO <obrw> ;
AT <row>,<col> ;
...
=>;
<obrw>
:=_DefineTBrowse (<"name"> , ;
...
with object <obrw>
...
разделил имя тсб и имя переменной


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




Пост N: 1298
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.06.18 09:54. Заголовок: SergKis пишет: разд..


SergKis пишет:

 цитата:
разделил имя тсб и имя переменной


Благодарю за идею!
Только использовал ключевое слово OBJ вместо TO

 цитата:
#xcommand DEFINE TBROWSE <name> OBJ <obrw> ;
AT <row>,<col> ;



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




Пост N: 1865
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 10:03. Заголовок: gfilatov2002 Еще по..


gfilatov2002
Еще по цветам и фонтам (не работает как надо сейчас)
 
#command DEFINE COLUMN <oCol> ;
...
=> ;
<oCol> := TSColumn():New( ;
...
[ <"name"> ], [ <"alias"> ], .T. )
...
т.е. находимся в define columns - не делать заполнение цветов, фонтов по default (все в nil)
CLASS TSColumn
...
METHOD DefColor()
METHOD DefFont()

ENDCLASS
...
METHOD DefFont( oBrw ) CLASS TSColumn
LOCAL hFont , ;
hFontHead , ;
hFontFoot , ;
hFontEdit , ;
hFontSpcHd

If oBrw != Nil

hFont := oBrw:hFont
hFontHead := If( Empty( oBrw:hFontHead ), oBrw:hFont, oBrw:hFontHead )
hFontFoot := If( Empty( oBrw:hFontFoot ), oBrw:hFont, oBrw:hFontFoot )
hFontEdit := If( Empty( oBrw:hFontEdit ), oBrw:hFont, oBrw:hFontEdit )
hFontSpcHd := If( Empty( oBrw:hFontSpcHd ), oBrw:hFont, oBrw:hFontSpcHd )

Default ::hFont := hFont , ;
::hFontHead := hFontHead , ;
::hFontFoot := hFontFoot , ;
::hFontEdit := hFontEdit , ;
::hFontSpcHd := hFontSpcHd

EndIf

RETURN Self

METHOD DefColor( oBrw ) CLASS TSColumn
LOCAL aTmpColor := Array( 20 )

If oBrw != Nil

Default aTmpColor[ 1 ] := oBrw:nClrText, ;
aTmpColor[ 2 ] := oBrw:nClrPane, ;
aTmpColor[ 3 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 4 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 5 ] := oBrw:nClrFocuFore, ;
aTmpColor[ 6 ] := oBrw:nClrFocuBack

Default aTmpColor[ 7 ] := oBrw:nClrEditFore, ;
aTmpColor[ 8 ] := oBrw:nClrEditBack, ;
aTmpColor[ 9 ] := oBrw:nClrFootFore, ;
aTmpColor[ 10 ] := oBrw:nClrFootBack, ;
aTmpColor[ 11 ] := oBrw:nClrSeleFore, ;
aTmpColor[ 12 ] := oBrw:nClrSeleBack, ;
aTmpColor[ 13 ] := oBrw:nClrOrdeFore, ;
aTmpColor[ 14 ] := oBrw:nClrOrdeBack, ;
aTmpColor[ 15 ] := oBrw:nClrLine , ;
aTmpColor[ 16 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 17 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 20 ] := oBrw:nClrSpcHdActive

IF oBrw:lEnum
DEFAULT aTmpColor[ 18 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 19 ] := oBrw:nClrHeadBack
ELSE
Default aTmpColor[ 18 ] := oBrw:nClrEditFore, ;
aTmpColor[ 19 ] := oBrw:nClrEditBack
ENDIF

EndIf

Default aTmpColor[ 1 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrText
aTmpColor[ 2 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrPane
aTmpColor[ 3 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrHeadFore
aTmpColor[ 4 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrHeadBack
aTmpColor[ 5 ] := GetSysColor( COLOR_HIGHLIGHTTEXT ), ; // nClrFocuFore
aTmpColor[ 6 ] := GetSysColor( COLOR_HIGHLIGHT ) // nClrFocuBack

Default aTmpColor[ 7 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrEditFore
aTmpColor[ 8 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrEditBack
aTmpColor[ 9 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrFootFore
aTmpColor[ 10 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrFootBack
aTmpColor[ 11 ] := CLR_HGRAY , ; // nClrSeleFore NO focused
aTmpColor[ 12 ] := CLR_GRAY , ; // nClrSeleBack NO focused
aTmpColor[ 13 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrOrdeFore
aTmpColor[ 14 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrLine
aTmpColor[ 15 ] := CLR_BLACK ,;
aTmpColor[ 16 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSupHeadFore
aTmpColor[ 17 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSupHeadBack
aTmpColor[ 18 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSpecHeadFore
aTmpColor[ 19 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSpecHeadBack
aTmpColor[ 20 ] := CLR_HRED // nClrSpecHeadActive

::nClrFore := aTmpColor[ 1 ]
::nClrBack := aTmpColor[ 2 ]
::nClrHeadFore := aTmpColor[ 3 ]
::nClrHeadBack := aTmpColor[ 4 ]
::nClrFocuFore := aTmpColor[ 5 ]
::nClrFocuBack := aTmpColor[ 6 ]
::nClrEditFore := aTmpColor[ 7 ]
::nClrEditBack := aTmpColor[ 8 ]
::nClrFootFore := aTmpColor[ 9 ]
::nClrFootBack := aTmpColor[ 10 ]
::nClrSeleFore := aTmpColor[ 11 ]
::nClrSeleBack := aTmpColor[ 12 ]
::nClrOrdeFore := aTmpColor[ 13 ]
::nClrOrdeBack := aTmpColor[ 14 ]
::nClrSpcHdFore := aTmpColor[ 18 ]
::nClrSpcHdBack := aTmpColor[ 19 ]
::nClrSpcHdActive := aTmpColor[ 20 ]

RETURN Self

...
METHOD New( cHeading, bData, cPicture, aColors, aAlign, nWidth, ;
...
cDefData, cName, cAlias, DefineCol ) CLASS TSColumn
...
If empty( DefineCol )

::DefColor( oBrw )
::DefFont ( oBrw )

/*
If oBrw == Nil

Default aTmpColor[ 1 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrText
aTmpColor[ 2 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrPane
aTmpColor[ 3 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrHeadFore
aTmpColor[ 4 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrHeadBack
aTmpColor[ 5 ] := GetSysColor( COLOR_HIGHLIGHTTEXT ), ; // nClrFocuFore
aTmpColor[ 6 ] := GetSysColor( COLOR_HIGHLIGHT ) // nClrFocuBack

Default aTmpColor[ 7 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrEditFore
aTmpColor[ 8 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrEditBack
aTmpColor[ 9 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrFootFore
aTmpColor[ 10 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrFootBack
aTmpColor[ 11 ] := CLR_HGRAY , ; // nClrSeleFore NO focused
aTmpColor[ 12 ] := CLR_GRAY , ; // nClrSeleBack NO focused
aTmpColor[ 13 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrOrdeFore
aTmpColor[ 14 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrLine
aTmpColor[ 15 ] := CLR_BLACK ,;
aTmpColor[ 16 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSupHeadFore
aTmpColor[ 17 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSupHeadBack
aTmpColor[ 18 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSpecHeadFore
aTmpColor[ 19 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSpecHeadBack
aTmpColor[ 20 ] := CLR_HRED // nClrSpecHeadActive

Else

Default aTmpColor[ 1 ] := oBrw:nClrText, ;
aTmpColor[ 2 ] := oBrw:nClrPane, ;
aTmpColor[ 3 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 4 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 5 ] := oBrw:nClrFocuFore, ;
aTmpColor[ 6 ] := oBrw:nClrFocuBack

Default aTmpColor[ 7 ] := oBrw:nClrEditFore, ;
aTmpColor[ 8 ] := oBrw:nClrEditBack, ;
aTmpColor[ 9 ] := oBrw:nClrFootFore, ;
aTmpColor[ 10 ] := oBrw:nClrFootBack, ;
aTmpColor[ 11 ] := oBrw:nClrSeleFore, ;
aTmpColor[ 12 ] := oBrw:nClrSeleBack, ;
aTmpColor[ 13 ] := oBrw:nClrOrdeFore, ;
aTmpColor[ 14 ] := oBrw:nClrOrdeBack, ;
aTmpColor[ 15 ] := oBrw:nClrLine , ;
aTmpColor[ 16 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 17 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 20 ] := oBrw:nClrSpcHdActive

IF oBrw:lEnum
DEFAULT aTmpColor[ 18 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 19 ] := oBrw:nClrHeadBack
ELSE
Default aTmpColor[ 18 ] := oBrw:nClrEditFore, ;
aTmpColor[ 19 ] := oBrw:nClrEditBack
endif

::hFont := oBrw:hFont
::hFontHead := If( Empty( oBrw:hFontHead ), oBrw:hFont, oBrw:hFontHead )
::hFontFoot := If( Empty( oBrw:hFontFoot ), oBrw:hFont, oBrw:hFontFoot )
::hFontEdit := If( Empty( oBrw:hFontEdit ), oBrw:hFont, oBrw:hFontEdit )
::hFontSpcHd := If( Empty( oBrw:hFontSpcHd ), oBrw:hFont, oBrw:hFontSpcHd )

EndIf
*/

EndIf

...
::bMax = bMax
// ::nClrFore = aTmpColor[ 1 ]
// ::nClrBack = aTmpColor[ 2 ]
// ::nClrHeadFore = aTmpColor[ 3 ]
// ::nClrHeadBack = aTmpColor[ 4 ]
// ::nClrFocuFore = aTmpColor[ 5 ]
// ::nClrFocuBack = aTmpColor[ 6 ]
// ::nClrEditFore = aTmpColor[ 7 ]
// ::nClrEditBack = aTmpColor[ 8 ]
// ::nClrFootFore = aTmpColor[ 9 ]
// ::nClrFootBack = aTmpColor[ 10 ]
// ::nClrSeleFore = aTmpColor[ 11 ]
// ::nClrSeleBack = aTmpColor[ 12 ]
// ::nClrOrdeFore = aTmpColor[ 13 ]
// ::nClrOrdeBack = aTmpColor[ 14 ]
// ::nClrSpcHdFore = aTmpColor[ 18 ]
// ::nClrSpcHdBack = aTmpColor[ 19 ]
// ::nClrSpcHdActive = aTmpColor[ 20 ]

::nClr3DLCell = GetSysColor( COLOR_BTNHIGHLIGHT )
...
CLASS TSBrowse FROM TControl
...
METHOD AddColumn( oColumn ) CLASS TSBrowse

Local nHeight, nAt, cHeading, cRest, nOcurs, ;
hFont := If( ::hFont != Nil, ::hFont, 0 )

oColumn:DefColor( Self )
oColumn:DefFont ( Self )

Default ::aColSizes := {}
...
METHOD InsColumn( nPos, oColumn ) CLASS TSBrowse

Local nI, ;
nCell := ::nCell

oColumn:DefColor( Self )
oColumn:DefFont ( Self )

Default nPos := 1



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




Пост N: 1866
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 10:12. Заголовок: gfilatov2002 пишет Т..


gfilatov2002 пишет
 цитата:
Только использовал ключевое слово OBJ вместо TO


еще
 
#xcommand DEFINE TBROWSE <name> OBJ <obrw> ;
[ AT <row>,<col> ] ;


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




Пост N: 1867
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 11:10. Заголовок: gfilatov2002 Пример..


gfilatov2002
Пример тогда выглядит так http://my-files.ru/bl7ds2


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




Пост N: 1868
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 13:05. Заголовок: PS работает и такой ..


PS
работает и такой вариант
 
FUNC Tsb_Create( cName, nY, nX, nW, nH, aCols )
*----------------------------------------------------------------------------*
LOCAL oBrw, aColors := {}
PRIV &cName

AAdd(aColors, { CLR_FOCUSB, { |a,b,c| If( c:nCell == b, {RGB( 66, 255, 236), RGB(209, 227, 248)}, ;
{RGB(220, 220, 220), RGB(220, 220, 220)} ) } } )

DEFINE TBROWSE &cName OBJ oBrw AT nY, nX ALIAS ALIAS() WIDTH nW HEIGHT nH CELL ;
COLORS aColors

:hFontHead := GetFontHandle( "FontBold" )
:hFontFoot := GetFontHandle( "FontBold" )
...
вместо
// :SetColor( { CLR_FOCUSB }, { { |a,b,c| If( c:nCell == b, {RGB( 66, 255, 236), RGB(209, 227, 248)}, ;
// {RGB(220, 220, 220), RGB(220, 220, 220)} ) } } )
...


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




Пост N: 1299
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.06.18 13:31. Заголовок: SergKis пишет: рабо..


SergKis пишет:

 цитата:
работает и такой вариант


У меня - НЕ работает.
После этих изменений пропал фоновый цвет в контрольном примере (sample 4 и sample 7), а также фон у фантомной колонки селектора.

Если возможно, выложите исправленные исходники библиотеки для сверки изменений.

SergKis пишет:

 цитата:
вместо // :SetColor( { CLR_FOCUSB }, { { |a,b,c| If( c:nCell == b, {RGB( 66, 255, 236), RGB(209, 227, 248)}, ; //


Через установку :SetColor цвет есть

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




Пост N: 1869
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 18:18. Заголовок: gfilatov2002 Для св..


gfilatov2002
Для сверки http://my-files.ru/dk0g0p

 цитата:
У меня - НЕ работает.


Поправил, упустил
 
CLASS TSColumn
...
DATA lDefineColumn AS LOGICAL INIT .F.

...
::lDefineColumn := ! empty(DefineCol)

If ! ::lDefineColumn

::DefColor( oBrw, aTmpColor )
::DefFont ( oBrw )

EndIf

/*
If oBrw == Nil
...
Else
...
EndIf
*/

Default aTmp3D[ 1 ] := If( oBrw == Nil, .F., oBrw:l3DLook )
...
::bMax = bMax
/*
::nClrFore = aTmpColor[ 1 ]
::nClrBack = aTmpColor[ 2 ]
::nClrHeadFore = aTmpColor[ 3 ]
::nClrHeadBack = aTmpColor[ 4 ]
::nClrFocuFore = aTmpColor[ 5 ]
::nClrFocuBack = aTmpColor[ 6 ]
::nClrEditFore = aTmpColor[ 7 ]
::nClrEditBack = aTmpColor[ 8 ]
::nClrFootFore = aTmpColor[ 9 ]
::nClrFootBack = aTmpColor[ 10 ]
::nClrSeleFore = aTmpColor[ 11 ]
::nClrSeleBack = aTmpColor[ 12 ]
::nClrOrdeFore = aTmpColor[ 13 ]
::nClrOrdeBack = aTmpColor[ 14 ]
::nClrSpcHdFore = aTmpColor[ 18 ]
::nClrSpcHdBack = aTmpColor[ 19 ]
::nClrSpcHdActive = aTmpColor[ 20 ]
*/

::nClr3DLCell = GetSysColor( COLOR_BTNHIGHLIGHT )
::nClr3DLHead = GetSysColor( COLOR_BTNHIGHLIGHT )
::nClr3DLFoot = GetSysColor( COLOR_BTNHIGHLIGHT )
::nClr3DSCell = GetSysColor( COLOR_BTNSHADOW )
::nClr3DSHead = GetSysColor( COLOR_BTNSHADOW )
::nClr3DSFoot = GetSysColor( COLOR_BTNSHADOW )
/*
::aColors = aTmpColor
::aColorsBack = aTmpColor
*/

::lIndexCol = .F.
...
METHOD DefColor( oBrw, aTmpColor ) CLASS TSColumn

Default aTmpColor := Array( 20 )

If oBrw == Nil

Default aTmpColor[ 1 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrText
aTmpColor[ 2 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrPane
aTmpColor[ 3 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrHeadFore
aTmpColor[ 4 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrHeadBack
aTmpColor[ 5 ] := GetSysColor( COLOR_HIGHLIGHTTEXT ), ; // nClrFocuFore
aTmpColor[ 6 ] := GetSysColor( COLOR_HIGHLIGHT ) // nClrFocuBack

Default aTmpColor[ 7 ] := GetSysColor( COLOR_WINDOWTEXT ), ; // nClrEditFore
aTmpColor[ 8 ] := GetSysColor( COLOR_WINDOW ) , ; // nClrEditBack
aTmpColor[ 9 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrFootFore
aTmpColor[ 10 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrFootBack
aTmpColor[ 11 ] := CLR_HGRAY , ; // nClrSeleFore NO focused
aTmpColor[ 12 ] := CLR_GRAY , ; // nClrSeleBack NO focused
aTmpColor[ 13 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrOrdeFore
aTmpColor[ 14 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrLine
aTmpColor[ 15 ] := CLR_BLACK ,;
aTmpColor[ 16 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSupHeadFore
aTmpColor[ 17 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSupHeadBack
aTmpColor[ 18 ] := GetSysColor( COLOR_BTNTEXT ) , ; // nClrSpecHeadFore
aTmpColor[ 19 ] := GetSysColor( COLOR_BTNFACE ) , ; // nClrSpecHeadBack
aTmpColor[ 20 ] := CLR_HRED // nClrSpecHeadActive

Else

Default aTmpColor[ 1 ] := oBrw:nClrText, ;
aTmpColor[ 2 ] := oBrw:nClrPane, ;
aTmpColor[ 3 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 4 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 5 ] := oBrw:nClrFocuFore, ;
aTmpColor[ 6 ] := oBrw:nClrFocuBack

Default aTmpColor[ 7 ] := oBrw:nClrEditFore, ;
aTmpColor[ 8 ] := oBrw:nClrEditBack, ;
aTmpColor[ 9 ] := oBrw:nClrFootFore, ;
aTmpColor[ 10 ] := oBrw:nClrFootBack, ;
aTmpColor[ 11 ] := oBrw:nClrSeleFore, ;
aTmpColor[ 12 ] := oBrw:nClrSeleBack, ;
aTmpColor[ 13 ] := oBrw:nClrOrdeFore, ;
aTmpColor[ 14 ] := oBrw:nClrOrdeBack, ;
aTmpColor[ 15 ] := oBrw:nClrLine , ;
aTmpColor[ 16 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 17 ] := oBrw:nClrHeadBack, ;
aTmpColor[ 20 ] := oBrw:nClrSpcHdActive

IF oBrw:lEnum
DEFAULT aTmpColor[ 18 ] := oBrw:nClrHeadFore, ;
aTmpColor[ 19 ] := oBrw:nClrHeadBack
ELSE
Default aTmpColor[ 18 ] := oBrw:nClrEditFore, ;
aTmpColor[ 19 ] := oBrw:nClrEditBack
ENDIF

EndIf

::nClrFore := aTmpColor[ 1 ]
::nClrBack := aTmpColor[ 2 ]
::nClrHeadFore := aTmpColor[ 3 ]
::nClrHeadBack := aTmpColor[ 4 ]
::nClrFocuFore := aTmpColor[ 5 ]
::nClrFocuBack := aTmpColor[ 6 ]
::nClrEditFore := aTmpColor[ 7 ]
::nClrEditBack := aTmpColor[ 8 ]
::nClrFootFore := aTmpColor[ 9 ]
::nClrFootBack := aTmpColor[ 10 ]
::nClrSeleFore := aTmpColor[ 11 ]
::nClrSeleBack := aTmpColor[ 12 ]
::nClrOrdeFore := aTmpColor[ 13 ]
::nClrOrdeBack := aTmpColor[ 14 ]
::nClrSpcHdFore := aTmpColor[ 18 ]
::nClrSpcHdBack := aTmpColor[ 19 ]
::nClrSpcHdActive := aTmpColor[ 20 ]

::aColors := aTmpColor
::aColorsBack := aTmpColor

RETURN Self

...
METHOD AddColumn( oColumn ) CLASS TSBrowse

Local nHeight, nAt, cHeading, cRest, nOcurs, ;
hFont := If( ::hFont != Nil, ::hFont, 0 )

If oColumn:lDefineColumn
oColumn:DefColor( Self )
oColumn:DefFont ( Self )
EndIf

Default ::aColSizes := {}
...
METHOD InsColumn( nPos, oColumn ) CLASS TSBrowse

Local nI, ;
nCell := ::nCell

If oColumn:lDefineColumn
oColumn:DefColor( Self )
oColumn:DefFont ( Self )
EndIf

Default nPos := 1
...
sample 4 заработал, sample 7 отличается с 3-8 колонки, но я не вижу где ставится этим колонкам белый цвет фона.
Всем колонкам ставится CLR_PINK и потом др. колонкам пере назначается.





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




Пост N: 1870
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 18:49. Заголовок: gfilatov2002 От арх..


gfilatov2002
От архива сверки еще немного поправил (сохранить цвета из define column ... команды)
 
METHOD New( cHeading, bData, cPicture, aColors, aAlign, nWidth, ;
...
cDefData, cName, cAlias, DefineCol ) CLASS TSColumn
...
::lDefineColumn := ! empty(DefineCol)

If ::lDefineColumn

::aColors := aTmpColor
::aColorsBack := aTmpColor

Else


::DefColor( oBrw, aTmpColor )
::DefFont ( oBrw )

EndIf
...
METHOD AddColumn( oColumn ) CLASS TSBrowse

Local nHeight, nAt, cHeading, cRest, nOcurs, ;
hFont := If( ::hFont != Nil, ::hFont, 0 )

If oColumn:lDefineColumn
oColumn:DefColor( Self, oColumn:aColors )
oColumn:DefFont ( Self )
EndIf
...
METHOD InsColumn( nPos, oColumn ) CLASS TSBrowse

Local nI, ;
nCell := ::nCell

If oColumn:lDefineColumn
oColumn:DefColor( Self, oColumn:aColors )
oColumn:DefFont ( Self )
EndIf
...


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




Пост N: 1871
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 19:57. Заголовок: PS сделал в sample 7..


PS
сделал в sample 7
 
DEFINE TBROWSE Brw_7 AT 0,0 CELLED ALIAS "Employee" Transparent Selector "Bitmaps\Arrow.bmp" ;
WIDTH nBrwWidth HEIGHT nBrwHeight ;
COLORS {CLR_BLACK, CLR_WHITE} ; // CLR_PINK

получил белый фон, как раньше, т.е. пример совпал

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




Пост N: 1300
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.06.18 21:01. Заголовок: SergKis пишет: MET..


SergKis пишет:

 цитата:
METHOD DefColor( oBrw, aTmpColor ) CLASS TSColumn

Default aTmpColor := Array( 20 )


Мыслим одинаково! Я тоже добавил у себя эти изменения

SergKis пишет:

 цитата:
COLORS {CLR_BLACK, CLR_WHITE}


Согласен, что требуется установить белый цвет фона для этого примера с учетом исправленной Вами обработки цветов

Сейчас внесу последние предложенные исправления и проверю работу контрольного примера
Благодарю за помощь

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




Пост N: 1872
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 21:02. Заголовок: PS В примере работае..


PS
В примере работает
 
*----------------------------------------------------------------------------*
FUNC Tsb_Create( cName, nY, nX, nW, nH, aCols, aColors )
*----------------------------------------------------------------------------*
LOCAL oBrw
PRIV &cName


If empty(aColors) .or. ! HB_ISARRAY(aColors)
aColors := {}
AAdd(aColors, { CLR_FOCUSB, { |a,b,c| If( c:nCell == b, ;
{RGB( 66, 255, 236), RGB(209, 227, 248)}, ;
{RGB(220, 220, 220), RGB(220, 220, 220)} ) } } )
EndIf

DEFINE TBROWSE &cName OBJ oBrw AT nY, nX ALIAS ALIAS() WIDTH nW HEIGHT nH CELL ;
COLORS aColors
...


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




Пост N: 1873
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.06.18 21:39. Заголовок: gfilatov2002 Потеря..


gfilatov2002
Потерял в примере с базой колонок в Report колонку
 
BaseCols()

AAdd(aCols, oDTDOK:Clone() )
AAdd(aCols, oNRDOK:Clone() )
AAdd(aCols, oSMDOK:Clone() )
AAdd(aCols, oTXDOK:Clone() )
AAdd(aCols, oSMTAX:Clone() )
AAdd(aCols, oSMITG:Clone() )
AAdd(aCols, oID_E:Clone() )
AAdd(aCols, oFIRST:Clone() )
AAdd(aCols, oLAST:Clone() )
AAdd(aCols, oSTREET:Clone() )
AAdd(aCols, oCITY:Clone() )
AAdd(aCols, oSTATE:Clone() )

AAdd(aCols, oNAME:Clone() )
AAdd(aCols, oZIP:Clone() )
AAdd(aCols, oHIREDATE:Clone() )
AAdd(aCols, oAGE:Clone() )

MyUse( 'States' , 'STAT' )


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




Пост N: 1301
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.06.18 22:19. Заголовок: SergKis пишет: В пр..


SergKis пишет:

 цитата:
В примере работает


Подтверждаю - работает и Ваш пример, и контрольный пример

SergKis пишет:

 цитата:
в примере с базой колонок в Report колонку


Добавил.
Большое спасибо за помощь и терпение

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