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

Vlad04: Harbour MiniGUI Extended Edition 18.06 (Release) При сборке старого проекта требует Unable to open file 'HBOLE.LIB'

gfilatov2002: Vlad04 пишет: При сборке старого проекта требует Поскольку, по-видимому, проект собирается с помощью Ide, рекомендую обновить HMGS-IDE по ссылке http://www.hmgextended.com/files/HMGS-IDE/ide.zip

Vlad04: оК! Всё нормально. И ещё об использовании TsBrows для вызова справочников. Если присвоить свойство окну TopMost, то при потере фокуса окно всё равно остается перед глазами- т.е юзер видит, что сделал что-то не то ( из двух вариантов : выбрать или закрыть )


Pasha: Григорий, там в harbour users group вас один товарищ разыскивает

gfilatov2002: Pasha пишет: вас один товарищ разыскивает Спасибо, вроде Esgici уже перечислил ему мои контакты

SergKis: Haz пишет Если интересно , могу сюда сбросить скомпилированный пример, как это выглядит и исходники разумеется. Допилил свой пример на эту тему (красоты не наводил, подключил работу с базой колонок) Пример тут https://my-files.ru/3poc1q Собран на последней версии hmg 18.06 + сделаны предложенные изменения !

SergKis: Упс. С ошибкой собрал. Правка (заменить) [pre2] *----------------------------------------------------------------------------* FUNC Base_Country ( oParent ) *----------------------------------------------------------------------------* ... oParent:Action := .F. // Init TBROWSE columns AAdd( aCols, gCols( OrdKeyNo ) ) AAdd( aCols, gCols( Land.COUNTRYNO ) ) AAdd( aCols, gCols( Land.KOD ) ) AAdd( aCols, gCols( Land.NAME ) ) AAdd( aCols, gCols( Land.ISES ) ) hFontBold := GetFontHandle('FontBold') ... [/pre2] Exe тут https://my-files.ru/inivvh

Haz: SergKis пишет: Допилил свой пример на эту тему Интересно. Приеду на работу, гляну обязательно.

Haz: Haz пишет: Упс. С ошибкой собрал. Правка (заменить) Сергей, а DBF и CDX где лежат ?

SergKis: Haz пишет Сергей, а DBF и CDX где лежат ? Все у exe. В пером архиве все с иходниками как есть (в demo.prg заменить из поста со вторым архивом с exe, им перекрыть пред. exe). У себя в SAMPLES создаю _Test каталог и в нем каталог проект APP_OOPTsbBox и в нем все лежит

SergKis: SergKis пишет Упс. С ошибкой собрал. Правка (заменить) Еще неточность demo.ch[pre2] #translate sColsPrivate() => __mvPrivate( BASE_COLUMNS ) ; _CrtCols( BASE_COLUMNS ) [/pre2]

Haz: SergKis пишет: Все у exe. В пером архиве все с иходниками как есть Все нашел , посмотрел , компактненько получилось. Как и у меня один момент не допилен ) Мы оба ловим позицию по вертикали и открываем справочник сверху или снизу, а вот до горизонтали руки не доходят пока и справочник может открыться за пределами экрана . Но это из разряда "красоты" которую позже можно допилить

SergKis: Haz пишет посмотрел , компактненько получилось Мысль завернуть в DEFINE TSBBOX ... ... END TSBBOX надо обдумать немного, в примере больше возился с базой колонок, а по горизонтали сделаю, вчера просто забыл )

SergKis: Опять упс, прогнать забыл Compile.bat /e /w. Исправленный вариант https://my-files.ru/l23x4s Пора отвалить от компа.

gfilatov2002: Всем кому это интересно Подготовил beta 3 для новой сборки библиотеки со следующим списком изменений [pre2] * Enhanced: DATEPICKER/TIMEPICKER supports BackColor definition for text box (based upon the undocumented trick with an erase background event). Warning: this feature will work at NO THEMED WinXP or earlier only. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo.prg in folder \samples\Basic\DatePicker) * Enhanced: The Grid control supports the optional COLUMNWIDTHLIMITS clause and corresponding ON DRAGHEADERITEMS event. Above clause specifies the limits for the column's width which will allowed at the dragging of a column's border via a mouse. Syntax: @ <row>,<col> GRID <name> [ OF <parent> ] ; [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; [ HEADERS <aHeaders> ] [ WIDTHS <aWidths> ] ; [ ITEMS <aItems> ] [ VALUE <value> ] [ COLUMNWIDTHLIMITS <aWidthLimits> ] [ ON DRAGHEADERITEMS <bAction> ] where the array aWidthLimits should have the following values for an each column: { nMinWidth, nMaxWidth } or NIL. The DRAGHEADERITEMS event will be executed after a changing of a header item's position. Based upon a contribution of HMG user KDJ. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Basic\Grid_ColumnsWidth) * Enhanced: The 'System' and 'Application' objects supports the following read only properties: - System.ClientWidth - System.ClientHeight - Application.FontName - Application.FontSize Contributed by Sergej Kiselev (see demo in folder \samples\Advanced\APP_OOPTSBBOX) * Updated: Minor modifications for compatibility with Viktor's Harbour fork 3.4.0 and Borland/Embarcadero C++ 7.3 (32-bit). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.25.0dev (from 3.24.0). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: HMGS-IDE v.1.4.3.4 Project Manager and Two-Way Visual Form Designer. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look for what's new at changelog.txt in folder \Ide) * New: 'TSBrowse OOP TSBBOX usage' sample. Contributed by Sergej Kiselev (see in folder \samples\Advanced\APP_OOPTSBBOX) * New: 'TSBrowse ListBox custom class usage' sample. Contributed by Igor Nazarov. Revised by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\Tsb_ListBox) * Updated: 'Print Pie Graph' sample: updated the data for June 2018. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo.prg in folder \samples\Basic\GraphPrint) * Updated: 'Grid Columns Width' sample by HMG user KDJ. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\Grid_ColumnsWidth) * Updated: 'TSBrowse Demo' sample: - fixed the internal function ComboBrowse(). The bugs were reported by Sylvain Larche. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\TSBrowse) [/pre2] Благодарю за Ваше внимание Особая благодарность за помощь Сергею Киселеву и Игорю Назарову

Dima: gfilatov2002 пишет: Олегу Назарову gfilatov2002 пишет: Contributed by Igor Nazarov Не стыковочка

gfilatov2002: Dima пишет: Не стыковочка Спасибо, поправил...

SergKis: gfilatov2002 Поправьте в примере APP_OOPTSBBOX для полноты действий [pre2] demo.ch ... #translate sColsPrivate() => __mvPrivate( BASE_COLUMNS ); _CrtCols( BASE_COLUMNS ) #translate sCols( <Key>, <oCol> ) => _SetCols( <"Key">, <oCol> ) #translate sCols( <Key>, <Name>, <xVal> ) => _SetCols( <"Key">, <"Name">, <xVal> ) #translate dCols( <Key> ) => _DelCols( <"Key"> ) #translate gCols( <Key> ) => _GetCols( <"Key"> ) #translate gCols() => _GetCols() demo_misk.prg ... *----------------------------------------------------------------------------* FUNC InitBaseCols() *----------------------------------------------------------------------------* LOCAL oCol ... sCols( Land.ISES , nWidth , TxtWidth('Входит') ) // Для проверки, потом можно в комментарии положить или удалить oCol := gCols( Land.ISES ) oCol:cAlias := 'CUST' sCols( Cust.ISES, oCol ) // AEval(gCols() , {|ao,no,oc| oc:=ao[2], _LogFile(.T.,no,ao[1],oc:cAlias,oc:cName,oc:cField,oc:cData,oc:cHeading) }) // AEval(gCols(Land.), {|ao,no,oc| oc:=ao[2], _LogFile(.T.,no,ao[1],oc:cAlias,oc:cName,oc:cField,oc:cData,oc:cHeading) }) // AEval(gCols(Cust.), {|ao,no,oc| oc:=ao[2], _LogFile(.T.,no,ao[1],oc:cAlias,oc:cName,oc:cField,oc:cData,oc:cHeading) }) ? '------------------------ after Add column', AEval(gCols(Cust.), {|ao,no,oc| oc:=ao[2], _LogFile(.T.,no,ao[1],oc:cAlias,oc:cName,oc:cField,oc:cData,oc:cHeading) }) dCols( Cust.ISES ) ? '------------------------ after Del column', AEval(gCols(Cust.), {|ao,no,oc| oc:=ao[2], _LogFile(.T.,no,ao[1],oc:cAlias,oc:cName,oc:cField,oc:cData,oc:cHeading) }) RETURN Nil ... *-----------------------------------------------------------------------------* FUNC _DelCols( cKey, cVarName ) *-----------------------------------------------------------------------------* LOCAL oVar Default cVarName := BASE_COLUMNS IF !__mvExist(cVarName); RETURN .F. ENDIF IF ! HB_ISOBJECT( oVar := __mvGet(cVarName) ); RETURN .F. ENDIF oVar:Del(cKey) RETURN .T. *-----------------------------------------------------------------------------* FUNC _SetCols( cKey, cName, xVal, cVarName ) *-----------------------------------------------------------------------------* LOCAL oVar, oCol Default cVarName := BASE_COLUMNS IF !__mvExist(cVarName); RETURN .F. ENDIF IF ! HB_ISOBJECT( oVar := __mvGet(cVarName) ); RETURN .F. ENDIF IF pCount() < 3 If pCount() == 2 .and. HB_ISOBJECT(cName) oVar:Set(cKey, cName) EndIf RETURN .F. ENDIF If ! HB_ISOBJECT( oCol := oVar:Get( cKey ) ); RETURN .F. EndIf oCol:SetProperty( cName, xVal ) RETURN .T. *-----------------------------------------------------------------------------* FUNC _GetCols( cKey, cVarName ) *-----------------------------------------------------------------------------* LOCAL oVar, aCol := {} Default cVarName := BASE_COLUMNS IF !__mvExist(cVarName); RETURN NIL ENDIF IF ! HB_ISOBJECT( oVar := __mvGet(cVarName) ); RETURN NIL ENDIF IF pCount() > 0 If right(cKey, 1) == '*'; cKey := left(cKey, At('.', cKey)) EndIf If right(cKey, 1) == '.' AEval(oVar:GetAll(), {|ac| iif( cKey $ ac[1], AAdd(aCol, AClone(ac)), Nil ) }) RETURN aCol EndIf RETURN oVar:Get( cKey ):Clone() ENDIF RETURN oVar:GetAll() ... [/pre2]

gfilatov2002: SergKis пишет: Поправьте в примере Что-то эти изменения "не пошли" - препроцессор ругается Давайте лучше рабочий пример P.S. Сам разобрался - уже работает

SergKis: gfilatov2002 пишет уже работает На всякий случай тут https://my-files.ru/9yo3yx



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