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

Andrey: gfilatov2002 пишет: текущую сборку Минигуи для работы со свежим ВСС 7.70 Как там решена проблема с русским языком: [pre2] FOR nI := 1 TO 12 AADD( aMonth, " " + LOWER( NTOCMONTH( nI ) ) ) NEXT ... @ .... COMBOBOXEX ComboEx_Month ... ITEMS aMonth ...[/pre2]

gfilatov2002: Andrey пишет: решена проблема с русским языком Да.

Andrey: Отлично ! Как можно попробовать данную версию ?


gfilatov2002: Andrey пишет: Как можно попробовать данную версию ? Если это действительно интересно, то пиши на почту - договоримся!

gfilatov2002: Выложил 2-е обновление сборки 23.10 по адресу Скачать Альтернативная ссылка на zip-архив, если антивирус блокирует выкачку инталлятора: Скачать архив Желаю всем хорошего дня

gfilatov2002: gfilatov2002 пишет: Выложил 2-е обновление сборки 23.10 по адресу Скачать Альтернативная ссылка на zip-архив, если антивирус блокирует выкачку инталлятора: Скачать архив Сделал "тихое" обновление этой сборки с учетом последних исправлений библиотеки TsbViewer, присланных Андреем. Прямые ссылки на дистрибутив есть в сообщении выше. До новых встреч

gfilatov2002: gfilatov2002 пишет: Сделал "тихое" обновление этой сборки с учетом последних исправлений библиотеки TsbViewer, присланных Андреем. Прямые ссылки на дистрибутив есть в сообщении выше. Снова обновил дистрибутив этой сборки с учетом исправлений, присланных Андреем. Желаю всем хорошего дня

gfilatov2002: Выложил заключительную сборку 23.12 с поддержкой библиотеки SQLRDD по адресу Скачать SHA-256: a74136d6cc4c769f9a7897fd9e0722dbde76a63ab407e8e2c677b0259b90b72f Желаю всем хорошего дня

SergKis: gfilatov2002 пишет * New: 'Windows with different languages' sample. Contributed by Sergej Kiselev and Verchenko Andrey (see in folder \samples\Advanced\APP_OOPLANG) Этот пример больше подходит для версии hmg unicode реализации. Пример тут https://TransFiles.ru/lahsp

gfilatov2002: SergKis пишет: для версии hmg unicode Благодарю за помощь Это очень интересный пример, поместил его в папку Tsb_Lang

SergKis: gfilatov2002 пишет пример, поместил его в папку Tsb_Lang Пример собран на версии unicode Harbour MiniGUI Extended Edition 23.07 (Release) + изменения из этой темы до версии с SqlRDD (~23.09) - это важно для правки и пересборки примера

SergKis: gfilatov2002 Для Alert... с длинными текстами сделал простой вариант[pre2] STATIC aBackColor, aFontColor, s_nLineLen := 79 ... *-----------------------------------------------------------------------------* FUNCTION HMG_Alert_MaxLines( nLines, nLineLen ) *-----------------------------------------------------------------------------* LOCAL cVarName := "_" + ProcName() LOCAL nOldLines := _AddNewGlobal( cVarName, 20 ) IF HB_ISNUMERIC( nLines ) .AND. nLines > 0 _SetGetGlobal( cVarName, nLines ) ENDIF IF HB_ISNUMERIC( nLineLen ) .AND. nLineLen > 0 .AND. nLineLen < 255 s_nLineLen := nLineLen ENDIF RETURN nOldLines ... *-----------------------------------------------------------------------------* STATIC FUNCTION FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bBlock, lClosable, cFont, nMaxLen ) *-----------------------------------------------------------------------------* ... nMaxWidth *= 0.7 ENDIF FOR n := 1 TO nLineas nMaxLin := Max( nMaxLin, GetTextWidth( hDC, AllTrim( MemoLine( cMsg, s_nLineLen, n ) ), hDlgFont ) ) NEXT // calculate the maximum width of the buttons FOR n := 1 TO nLenaOp ... FOR n := 1 TO nLineas cLblName := "Say_" + StrZero( n, 2 ) @ nRow * ( n + iif( nLineas == 1, .5, 0 ) ) + GetBorderHeight(), nCol ; LABEL ( cLblName ) VALUE AllTrim( MemoLine( cMsg, s_nLineLen, n ) ) OF ( cForm ) ; FONT cFont WIDTH nWidthCli - nCol - GetBorderWidth() - MARGIN / 4 - nMaxWidth ; HEIGHT nChrHeight ; FONTCOLOR aFontColor BACKCOLOR aBackColor VCENTERALIGN NEXT n ... В начале программы ставлю ... SetMenuBitmapHeight( 32 ) // set menu icons size to 32x32 HMG_Alert_MaxLines( , 120) SET NAVIGATION EXTENDED ... [/pre2] помогает

gfilatov2002: SergKis пишет: с длинными текстами сделал простой вариант Спасибо Добавил такую возможность тоже...

gfilatov2002: Подготовил новую сборку 24.01, которая будет опубликована на следующей неделе. Что нового: * Fixed: Incorrect handling of the FontColor and BackColor properties in the CHECKLISTBOX control. You can set/get these properties with - function syntax: SetProperty ( Form, Control, 'BackColor', { n1 , n2 , n3 } ) GetProperty ( Form, Control, 'FontColor' ) --> aColor - pseudo-OOP syntax: Form.ChkListBox.FontColor := { n1 , n2 , n3 } Form.ChkListBox.BackColor --> aColor Bug was reported by Ivanil Marcelino. Contributed by Grigory Filatov (see demo.prg in folder \samples\Basic\CheckListBox) * Enhanced: Added the optional second parameter in the HMG_Alert_MaxLines() function for managing of the max width of the EditBox line in the HMG_Alert() function. Syntax: HMG_Alert_MaxLines( <nLines> [, <nMaxWide>] ) => nPrevLines Suggested and contributed by Sergej Kiselev (see demo in folder \samples\Advanced\APP_OOPTEMPLATE) * New: The GetAppLocalDataFolder() function returns an Application Data Folder path for a local user. The GetWindowsTempFolder() function returns the path to the Windows temporary folder on the root drive. Contributed by Grigory Filatov (see demo in folder \samples\Basic\Misc) Желаю всем мира и добра!

SergKis: gfilatov2002 Небольшая правка[pre2] *-----------------------------------------------------------------------------* FUNCTION Set_bEvents ( bBlock ) *-----------------------------------------------------------------------------* LOCAL bOld := s_bEvents IF HB_ISCHAR( bBlock ) .AND. "(" $ bBlock bBlock := hb_ULeft( bBlock, hb_UAt( "(", bBlock ) - 1 ) ENDIF s_bEvents := bBlock s_lEvents := !Empty( s_bEvents ) RETURN bOld [/pre2] тогда можно делать bBlockOld := Set_bEvents ( bBlockNew ) ... Set_bEvents ( bBlockOld ) bBlockOld := Set_bEvents ( NIL ) ... Set_bEvents ( bBlockOld ) для конкретных окон ставить свои обработчики

gfilatov2002: SergKis пишет: Небольшая правка OK

SergKis: gfilatov2002 Небольшая добавка[pre2] *----------------------------------------------------------------------------* FUNCTION _o2Log( o, nLen, cMsg, lExt, cLog ) *----------------------------------------------------------------------------* LOCAL a, b, c, i, j, k := pCount(), l := .F., xRet := .T. IF Valtype(cLog) $ "LND" l := .T. cLog := hb_FNameDir(cLog) + "_" + hb_ntos(Seconds()) ENDIF DEFAULT lExt := .F., cLog := _SetGetLogFile() ... ENDIF IF l .and. hb_FileExists( cLog ) xRet := hb_memoread( cLog ) hb_FileDelete( cLog ) ENDIF RETURN xRet [/pre2] для использования, например, так AlertInfo( _o2log(o, 15, "=> oLbl:Cargo", .T., .T.) )

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

SergKis: gfilatov2002 Пропустил ошибку в строке cLog := hb_FNameDir(_SetGetLogFile()) + "_" + hb_ntos(Seconds())

SergKis: gfilatov2002 Может ~ такую добавку сделать ? [pre2] STATIC s_lOutLogFile := .T. *-----------------------------------------------------------------------------* FUNCTION _SetGetLogFile( cFile, lOut ) *-----------------------------------------------------------------------------* LOCAL cVarName := "_HMG_" + SubStr( ProcName(), 8 ) LOCAL cOld := _AddNewGlobal( cVarName, NIL ), lOld IF HB_ISLOGICAL( lOut ) lOld := s_lOutLogFile s_lOutLogFile := lOut IF cFile == NIL RETURN lOld ENDIF ENDIF IF cFile != NIL _SetGetGlobal( cVarName, cFile ) RETURN cFile ENDIF RETURN cOld *-----------------------------------------------------------------------------* #ifndef __XHARBOUR__ FUNCTION _LogFile( lCrLf, ... ) #else FUNCTION _LogFile( ... ) #endif *-----------------------------------------------------------------------------* LOCAL hFile, i, xVal, cTp LOCAL aParams := hb_AParams() LOCAL nParams := Len( aParams ) LOCAL cFile := hb_defaultValue( _SetGetLogFile(), GetStartUpFolder() + hb_ps() + "_MsgLog.txt" ) #ifdef __XHARBOUR__ LOCAL lCrLf #endif IF ! s_lOutLogFile RETURN .F. ENDIF IF nParams > 0 ... [/pre2] Для приостановки вывода в log не меняя код. Можно команду сделать, типа SET LOGFILE OUT ON\OFF



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