Форум » 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: PS лучше[pre2] METHOD New( cHeading, bData, cPicture, aColors, aAlign, nWidth, ; ... CLASS TSColumn ... ::lTotal := lTotal //V90 ::cName := cName ::oCellHead := TSBcell():New() ::oCellEnum := TSBcell():New() ::oCellFoot := TSBcell():New() ::oCell := TSBcell():New() ... [/pre2]

gfilatov2002: SergKis пишет: CLASS TSColumn Добавил

Andrey: Если поле "N" или "C" имеет короткое название ( типа N1 , C12 ), то значения в колонках обрезаются. Вот как на картинке: У себя приходиться делать всегда так: [pre2]STATIC FUNCTION myPartWidthTsb( oBrw ) // поправить ширину колонок LOCAL oCol, cType, hFont := oBrw:hFont // 1-cells font WITH OBJECT oBrw FOR EACH oCol IN :aColumns cType := oCol:cFieldTyp IF cType $ "=@T" oCol:nWidth := GetTextWidth( Nil, REPL("9",24), hFont ) // 24 знака ELSEIF cType == "D" oCol:nWidth := GetTextWidth( Nil, REPL("9",11), hFont ) ELSEIF cType == "N" .OR. cType == "C" // увеличим ширину колонки для коротких названий полей IF LEN(oCol:cName) < 5 oCol:nWidth := GetTextWidth( Nil, REPL("H", oCol:nFieldLen), hFont ) * 0.8 ENDIF ENDIF NEXT END WITH RETURN Nil[/pre2] Можно добавить это в класс Tsbrowse ? Или ещё как то по другому. И куда это добавить, я не знаю.


SergKis: Andrey Попробуй у себя поправить [pre2] METHOD LoadFields( lEditable, aColSel, cAlsSel, aNameSel, aHeadSel ) CLASS TSBrowse ... If nSize == Nil ... If cType == "C" cData := PadR( Trim( cData ), nSize+1 /* или 2 */, "B" ) nSize := GetTextWidth( 0, cData, hFont ) ElseIf cType == "N" ... У себя, к примеру я для "C" правку делаю, не разбираясь, если поле длина > 50 беру 50, т.е. писать все равно приходится IF o:cFieldTyp == "D" o:cPicture := "@D" ELSEIF o:cFieldTyp == "N" .and. o:nFieldLen < 10 o:nWidth += GetFontWidth("Normal", 2) ELSEIF o:cFieldTyp == "C" IF o:nFieldLen > 50 ; o:nWidth := o:ToWidth( 50 ) ELSE ; o:nWidth += GetFontWidth("Normal", 1) ENDIF ENDIF ... [/pre2]

Andrey: SergKis пишет: Попробуй у себя поправить Да у себя я сам добавлю к ширине колонок нужное ко-во. Хотелось бы что-бы ТСБ это умел делать автоматом.

SergKis: Andrey Так поправь, что написал (это же тсб текст), если поможет, можно править на постоянно. Пример то у тебя, на нем и проверь

Andrey: SergKis пишет: Так поправь, что написал (это же тсб текст), если поможет, можно править на постоянно. Не фига не работает... Попробовал исправить. Колонка в середине S9 (текстовая) - нормальная, а самый последний столбец в таблице F2 (текстовая) - срезается. Пример отправил тебе.

SergKis: Andrey пишет Пример отправил тебе. Убрал виртуальные колонки и все колонки нормальные в размерах С вирт. колонками надо самому ставить размеры, как и было у тебя !

Andrey: SergKis пишет: Убрал виртуальные колонки и все колонки нормальные в размерах Я тоже убрал. Но у меня режутся колонки с "=@T" и последняя текстовая колонка тоже режется. Числовые колонки нормально стали показываться. Может у меня старый h_tbrowse.prg ? Вот картинка: Колонки 23 и 25 (зеленые стрелочки) с типом [+] [^] может расширить до 6-8 знаков ?

SergKis: Andrey пишет Может у меня старый h_tbrowse.prg ? Делал с твоим и сейчас положил в пример свой -> результат одинаковый, колонки не режутся. Твой пример тут https://TransFiles.ru/al858

SergKis: PS h_tbrowse.prg немного отличается от того, который у Григория (method LoadFields с изменениями ранее), наверно, т.к. у меня добавлены еще к "N" "+" и "^". Но большого значения это не имеет

Andrey: SergKis пишет: Делал с твоим и сейчас положил в пример свой -> результат одинаковый, колонки не режутся. Твой пример тут Запускаю этот пример и колонки 24,26,27,28 - съедены ! Как такое может быть, у тебя нормально, а у меня нет ?

SergKis: Andrey Сделай изменения[pre2] STATIC FUNCTION myBrw1( nY, nX, nW, nH, aDatos, aFont, nBrw ) ... mySupHdTsb( oBrw1, aSupHd ) // SuperHeader //myEnumTsb( oBrw1 , 6+1 ) // ENUMERATOR по порядку :GetColumn("ID"):nWidth := (App.Object):W1 :GetColumn("VM"):nWidth := (App.Object):W1 :GetColumn("F1"):nWidth := (App.Object):W2 :GetColumn("F2"):nWidth := (App.Object):W2 :GetColumn("TS"):nWidth := Gjavascript:pst3('','','','[pre2]','[/pre2]');etFontWidth(aFont[1], 20) :GetColumn("IM"):nWidth := GetFontWidth(aFont[1], 20) :GetColumn("DT"):nWidth := GetFontWidth(aFont[1], 20) :GetColumn("TT"):nWidth := GetFontWidth(aFont[1], 20) mySet2Tsb( oBrw1 ) // настройки таблицы дополнительные ... STATIC FUNCTION myBrw2( nY, nX, nW, nH, aDatos, aFont, nBrw ) ... mySupHdTsb( oBrw2, aSupHd ) // SuperHeader //myEnumTsb( oBrw2 , 6+1) // ENUMERATOR по порядку :GetColumn("ID"):nWidth := (App.Object):W1 :GetColumn("VM"):nWidth := (App.Object):W1 :GetColumn("F1"):nWidth := (App.Object):W2 :GetColumn("F2"):nWidth := (App.Object):W2 :GetColumn("TS"):nWidth := GetFontWidth(aFont[1], 20) :GetColumn("IM"):nWidth := GetFontWidth(aFont[1], 20) :GetColumn("DT"):nWidth := GetFontWidth(aFont[1], 20) :GetColumn("TT"):nWidth := GetFontWidth(aFont[1], 20) mySet2Tsb( oBrw2 ) // настройки таблицы дополнительные ... [/pre2] Для Timestamp колонок это как в h_tbrowse.prg, можешь подобрать длину в символах не 20, а сколько надо у тебя Для ID,VM,F1,F2 ширина колонки от dlu задана для фонта SET FONT TO ...

SergKis: Упс, сломалось что то для myBrw1. Исправить просто строки красным из myBrw2 перенести в myBrw1 они одинаковые

gfilatov2002: Завершена подготовка новой сборки 20.08, которая будет опубликована на следующей неделе. Рассматриваю ее как финальную по причинам материального характера (что не удивительно в наше время ). Огромная благодарность Сергею Киселеву за все предложения и идеи по развитию библиотеки Благодарю за ваше внимание

SergKis: Возможно, будет интересно. Пример MDI интерфейса. В целом работает. Не пошел контрол TEXTBOX, возможно еще какие контролы, надо смотреть. Но работая ТОЛЬКО в окнах ChildMdi, без модальных можно многое делать. Пример тут https://TransFiles.ru/cnyt8 Собран с последними изменениями h_tbrowse.prg

gfilatov2002: Опубликована новая сборка 20.08 для BCC 5.8.2 и компиляторов Harbour и xHarbour. Базовый дистрибутив находится по адресу http://hmgextended.com/files/CONTRIB/hmg-20.08-setup.exe Огромная благодарность Сергею Киселеву за помощь при подготовке этой сборки

gfilatov2002: Сделал "тихое" обновление сборки 20.08 Что нового: - заработала печать в примере \samples\Basic\RichEditBox

gfilatov2002: Выпустил 1-е обновление сборки 20.08 Что нового (на языке оригинала): * Updated: Synchronized Extended HMG for compatibility with Official HMG: - New: added commands FINDTEXTDIALOG and REPLACETEXTDIALOG; - New: added in-line feature to the miniprint commands; - New: added RegistryRead() and RegistryWrite() pseudo-functions. Based upon a contribution of Claudio Soto <srvet/at/adinet.com.uy>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Applications\WordWriter) * New: 'Word Writer' sample. Borrowed from Official HMG distribution. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Applications\WordWriter) * Updated: 'RichEditBox' sample: - adapted RTF print feature. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\RichEditBox) Благодарю всех, кто поддерживал и поддерживает этот проект "на плаву"

Andrey: В новой версии для ТСБ пропадает суперхидер, т.е. пустой суперхидер.



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