Форум » 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

gfilatov2002: SergKis пишет: Добавьте ф-ю для получения hmg имени фонта от handle Отдельная функция не нужна, поскольку уже есть более общая функция GetFontParam() Например, можно записать так #xtranslate HMG_FontName( <hFont> ) ; => ; GetFontParam( <hFont> )\[ 1 ]

SergKis: gfilatov2002 пишет Отдельная функция не нужна, поскольку уже есть более общая функция GetFontParam() К сожалению, в _HMG_aControlFontName [k] := fName это имя фонта в системе, к примеру "Arial", а надо имя фонта регистрации, т.е. из _HMG_aControlNames [k] := FontName, например "Norm", "Bold", "Itog", т.к. контрол на входе не понимает handle фонта, надо имя регистрации.

SergKis: PS или добавить в возврат GetFontParam( FontHandle ) имя регистрации и тогда можно сделать #xtranslate HMG_FontName( <hFont> )...


gfilatov2002: SergKis пишет: добавить в возврат GetFontParam( FontHandle ) имя регистрации Именно это хотел предложить (добавить 10-й параметр). #xtranslate HMG_FontName( <hFont> ) ; => ; GetFontParam( <hFont> )\[ 10 ]

SergKis: gfilatov2002 По аналогии [pre2] METHOD LButtonDown( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse ... nAtCol := Max( ::nAtColActual( nColPix ), 1 ) // JP 1.31 ... поменял (не срабатывал вызов) METHOD RButtonDown( nRowPix, nColPix, nFlags ) CLASS TSBrowse ... nRow := ::GetTxtRow( nRowPix ) nCol := ::nAtColActual( nColPix ) ... возможно, надо поменять и в METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse Local nClickRow := ::GetTxtRow( nRowPix ), ; nCol := ::nAtColActual( nColPix ) ; /*( nColPix, ::lSelector ), ;*/ uPar1 := nRowPix, ; uPar2 := nColPix ... [/pre2]

SergKis: PS Надо менять тоже. Вот что получаю[pre2] :bLDblClick := {|uPar1, uPar2, nFlags, oBr| myLDblClicked( oBr, uPar1, uPar2, nFlags ) } ... STATIC FUNCTION myLDblClicked( oBrw, nRowPix, nColPix, nFlags ) Local nRow := oBrw:GetTxtRow( nRowPix ) Local nOld := oBrw:nAtCol( nColPix, oBrw:lSelector ) Local nCol := oBrw:nAtColActual( nColPix ) ? procname(), oBrw, nRowPix, nColPix, nFlags, nRow, nCol, nOld RETURN Nil результат LDblClicked на колонке 4 на разных nRowPos как будто кликаю на 6-ой колонке MYLDBLCLICKED 'O' 121 302 1 1 4 6 MYLDBLCLICKED 'O' 146 302 1 2 4 6 MYLDBLCLICKED 'O' 187 302 1 4 4 6 ... [/pre2]

SergKis: PS2 Почему то нет обработки двойного клика на Footers, думаю надо добавить[pre2] METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse ... ElseIf nClickRow == -1 .and. ! empty( ::lDrawFooters ) If ::bLDblClick != Nil Eval( ::bLDblClick, uPar1, uPar2, nKeyFlags, Self ) EndIf ElseIf nClickRow == -2 .and. ::lDrawSpecHd .and. ::aColumns[ nCol ]:lEditSpec ... [/pre2]

gfilatov2002: SergKis пишет: Надо менять Добавил все предложенные правки. Благодарю за помощь

SergKis: gfilatov2002 пишет Добавил все предложенные правки. Выяснил, наверно, почему не было Footers в METHOD LDblClick( nRowPix, nColPix, nKeyFlags ) CLASS TSBrowse Если одновременно использовать с :LDblClick() :LButtonClick() или :RButtonClick(), то при нажатии LDblClick делая левый или правый клик "ложно" срабатывает после них LDblClick Это надо отметить для себя, что можно использовать или :LDblClick() или :LButtonClick(), :RButtonClick().

gfilatov2002: SergKis пишет: Это надо отметить для себя.. почему не было Footers Да, это известная проблема, подобное поведение происходит и при двойном клике по иконке приложения в трее Убрал предложенную правку для METHOD LDblClick

SergKis: gfilatov2002 Поправить надо, а то там NIL, вместо цифры[pre2] METHOD LoadFields( lEditable, aColSel, cAlsSel, aNameSel, aHeadSel ) CLASS TSBrowse ... nSize := ::aColSizes[ n ] EndIf If empty( ::aColSizes[ n ] ) ::aColSizes[ n ] := nSize EndIf If ValType( ::aFormatPic ) == "A" .and. ! Empty( ::aFormatPic ) .and. n <= Len( ::aFormatPic ) [/pre2]

gfilatov2002: SergKis пишет: Поправить надо Поправил, конечно [pre2]... If ValType( ::aColSizes ) == "A" .and. n <= Len( ::aColSizes ) .and. Empty( ::aColSizes[ n ] ) ::aColSizes[ n ] := nSize EndIf [/pre2]

SergKis: gfilatov2002 Еще[pre2] METHOD LoadFields( lEditable, aColSel, cAlsSel, aNameSel, aHeadSel ) CLASS TSBrowse ... ElseIf cType == "M" nSize := iif( ::nMemoWV == Nil, 200, ::nMemoWV ) ElseIf cType $ "=@T" nSize := GetTextWidth( 0, Replicate("9", 20), hFont ) Else cData := cValToChar( cData ) [/pre2]

gfilatov2002: SergKis пишет: Еще OK

gfilatov2002: Завершена подготовка новой сборки 20.05, которая будет опубликована на следующей неделе, со следующим списком изменений (кратко): [pre2] * Added a command for managing of the 'This' property at runtime: SET WINDOW THIS TO [<w>] where <w> may be a Form Name or a Form Index. * Added support of the PICTURE option to format the columns value in the Browse control. * The 'Command Link' button and 'Split Button' may be placed now in the TAB container. * Added the lNoSound parameter to the new Alert* family functions to block an any sound effect at startup of the above functions. * Added the auxiliary function HMG_Alert_MaxLines() for managing of the height of the EditBox control in the function HMG_Alert(). The width and height of an Alert window cannot exceed now a visible desktop area. * Updated header file i_hmgcompat.ch for compatibility with Official HMG. * Updated HMGS-IDE v.1.4.4.1, HBPrinter, PropGrid, TSBrowse and Sqlite3 libraries. * Added the new interesting samples and updated the some Basic and Advanced samples. [/pre2] Также выполнена адаптация текущей сборки для свежих версий Си-компиляторов: - MinGW GNU C 10.1 32-bit и 64-bit; - Microsoft Visual C++ 19.25.28614 32-bit и 64-bit; - BCC64, основанный на LLVM/Clang C 3.3.1 (35759.1709ea1.58602a0) (64-bit). Благодарю за ваше внимание

Andrey: А можно в HMG_Alert() при выводе даже помещаемых данных, сразу выводить их в EDITBOX ? Удобно вывести данные, посмотреть и если нужно, то скопировать ЧАСТЬ или ЦЕЛИКОМ в буфер обмена. В EDITBOX это удобно делать.

SergKis: Andrey А добавить пустых строк AlertInfo(cMsg+repl(" ;", 20), "INFO")

gfilatov2002: Andrey пишет: сразу выводить их в EDITBOX ? Да, это будет возможно в сборке 20.05, если перед вызовом функции HMG_Alert() написать HMG_Alert_MaxLines( 1 ) тогда будет вывод всех строк в EDITBOX , а на экране будет показана только одна строка.

SergKis: gfilatov2002 Будут ли изменения по фонтам из темы http://clipper.borda.ru/?1-1-0-00000554-000-80-0-1590177610

gfilatov2002: SergKis пишет: Будут ли изменения по фонтам Да, конечно



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