Автор | Сообщение |
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; - новые и обновленные старые примеры (как обычно ).
| |
|
Ответов - 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
| |
|
gfilatov2002
|
| moderator
|
Пост N: 1295
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.06.18 12:28. Заголовок: SergKis пишет: У се..
SergKis пишет: OK, принято
| |
|
SergKis
|
| постоянный участник
|
Пост N: 1862
Зарегистрирован: 17.02.12
|
|
Отправлено: 11.06.18 15:03. Заголовок: gfilatov2002 Пример..
gfilatov2002 Пример довел до какой то кондиции. http://my-files.ru/923enb Старое не сломалось (вроде), новое работает. Показал, как избавиться от public переменных базы колонок. На модальных окнах справ. включается edit (не ключевые поля)
| |
|
gfilatov2002
|
| moderator
|
Пост N: 1296
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.06.18 15:23. Заголовок: SergKis пишет: Прим..
SergKis пишет: Очень хорошо! SergKis пишет: цитата: | Старое не сломалось (вроде), новое работает. |
| У меня работает тоже
| |
|
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. ...
| |
|
gfilatov2002
|
| moderator
|
Пост N: 1297
Зарегистрирован: 11.02.10
|
|
Отправлено: 11.06.18 16:18. Заголовок: SergKis пишет: Доба..
SergKis пишет: Благодарю, уже добавил...
| |
|
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> ... разделил имя тсб и имя переменной
| |
|
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> ; |
|
| |
|
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
| |
|
SergKis
|
| постоянный участник
|
Пост N: 1866
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.06.18 10:12. Заголовок: gfilatov2002 пишет Т..
gfilatov2002 пишет цитата: | Только использовал ключевое слово OBJ вместо TO |
| еще #xcommand DEFINE TBROWSE <name> OBJ <obrw> ; [ AT <row>,<col> ] ;
| |
|
SergKis
|
| постоянный участник
|
Пост N: 1867
Зарегистрирован: 17.02.12
|
|
Отправлено: 12.06.18 11:10. Заголовок: gfilatov2002 Пример..
| |
|
|
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)} ) } } ) ...
| |
|
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 цвет есть
| |
|
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 и потом др. колонкам пере назначается.
| |
|
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 ...
| |
|
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 получил белый фон, как раньше, т.е. пример совпал
| |
|
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} |
| Согласен, что требуется установить белый цвет фона для этого примера с учетом исправленной Вами обработки цветов Сейчас внесу последние предложенные исправления и проверю работу контрольного примера Благодарю за помощь
| |
|
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 ...
| |
|
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' )
| |
|
gfilatov2002
|
| moderator
|
Пост N: 1301
Зарегистрирован: 11.02.10
|
|
Отправлено: 12.06.18 22:19. Заголовок: SergKis пишет: В пр..
SergKis пишет: Подтверждаю - работает и Ваш пример, и контрольный пример SergKis пишет: цитата: | в примере с базой колонок в Report колонку |
| Добавил. Большое спасибо за помощь и терпение
| |
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
|