Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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: gfilatov2002 У себя сделал[pre2] 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 ) [/pre2] Переключать фокус на контрол окна oWnd:SetFocus('oBrw') focus на tsb

gfilatov2002: SergKis пишет: У себя сделал OK, принято

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


gfilatov2002: SergKis пишет: Пример довел Очень хорошо! SergKis пишет: Старое не сломалось (вроде), новое работает. У меня работает тоже

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

gfilatov2002: SergKis пишет: Добавьте строку в пример Благодарю, уже добавил...

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

gfilatov2002: SergKis пишет: разделил имя тсб и имя переменной Благодарю за идею! Только использовал ключевое слово OBJ вместо TO #xcommand DEFINE TBROWSE <name> OBJ <obrw> ; AT <row>,<col> ;

SergKis: gfilatov2002 Еще по цветам и фонтам (не работает как надо сейчас)[pre2] #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 [/pre2]

SergKis: gfilatov2002 пишет Только использовал ключевое слово OBJ вместо TO еще [pre2] #xcommand DEFINE TBROWSE <name> OBJ <obrw> ; [ AT <row>,<col> ] ; [/pre2]

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

SergKis: PS работает и такой вариант[pre2] 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)} ) } } ) ... [/pre2]

gfilatov2002: 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: gfilatov2002 Для сверки http://my-files.ru/dk0g0p У меня - НЕ работает. Поправил, упустил [pre2] 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 и потом др. колонкам пере назначается. [/pre2]

SergKis: gfilatov2002 От архива сверки еще немного поправил (сохранить цвета из define column ... команды)[pre2] 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 ... [/pre2]

SergKis: PS сделал в sample 7[pre2] 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 [/pre2] получил белый фон, как раньше, т.е. пример совпал

gfilatov2002: SergKis пишет: METHOD DefColor( oBrw, aTmpColor ) CLASS TSColumn Default aTmpColor := Array( 20 ) Мыслим одинаково! Я тоже добавил у себя эти изменения SergKis пишет: COLORS {CLR_BLACK, CLR_WHITE} Согласен, что требуется установить белый цвет фона для этого примера с учетом исправленной Вами обработки цветов Сейчас внесу последние предложенные исправления и проверю работу контрольного примера Благодарю за помощь

SergKis: PS В примере работает[pre2] *----------------------------------------------------------------------------* 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 ... [/pre2]

SergKis: gfilatov2002 Потерял в примере с базой колонок в Report колонку[pre2] 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' ) [/pre2]

gfilatov2002: SergKis пишет: В примере работает Подтверждаю - работает и Ваш пример, и контрольный пример SergKis пишет: в примере с базой колонок в Report колонку Добавил. Большое спасибо за помощь и терпение



полная версия страницы