Форум » 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 Get EXPORTED: DATA Index INIT 0 DATA BadDate INIT .F. ... FUNCTION _DefineGetBox ( ControlName, ParentFormName, x, y, w, h, Value, ; ... oGet:UpdateBuffer() oGet:Index := k Public &mVar. := k ... CLASS TGetBox FROM TControl ... METHOD VarGet() ACCESS Index INLINE ::oGet:Index ACCESS Handle INLINE iif( Empty( ::Index ), 0, _HMG_aControlHandles [ ::Index ] ) ENDCLASS ... h_controlmisc.prg ============ ... *-----------------------------------------------------------------------------* FUNCTION _SetAlign ( ControlName, ParentForm, cAlign, Index ) *-----------------------------------------------------------------------------* LOCAL i := iif( pCount() > 3, Index, GetControlIndex ( ControlName, ParentForm ) ) LOCAL a := { "LEFT", "CENTER", "RIGHT", "VCENTER" } IF i > 0 IF HB_ISNUMERIC( cAlign ) IF ( cAlign + 1 ) > Len( a ) ; cAlign := 0 ENDIF cAlign := a[ cAlign + 1 ] ENDIF DO CASE CASE cAlign == "LEFT" ChangeStyle ( _HMG_aControlHandles [ i ] , , ES_CENTER + ES_RIGHT ) CASE cAlign == "CENTER" ChangeStyle ( _HMG_aControlHandles [ i ] , ES_CENTER , ES_CENTER + ES_RIGHT ) CASE cAlign == "RIGHT" ChangeStyle ( _HMG_aControlHandles [ i ] , ES_RIGHT , ES_CENTER + ES_RIGHT ) CASE cAlign == "VCENTER" ChangeStyle ( _HMG_aControlHandles [ i ] , SS_CENTERIMAGE ) ENDCASE _Refresh ( i ) ENDIF RETURN Nil ... CLASS TSColumn ... DATA cEditPicture // DATA nEditAlign // DATA nEditRow AS NUMERIC // ... METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, ; ... If oCol:cEditPicture != Nil cPicture := oCol:cEditPicture EndIf oCol:oEdit := TGetBox():New( nRow, nCol, ; bSETGET( uValue ), Self, nWidth, nHeight, ; cPicture,, nClrFore, nClrBack, hFont, ::cChildControl, cWnd, ; cMsg,,,,, bChange, .T.,, lSpinner .and. cType $ "ND", bUp, bDown, ; bMin, bMax, oCol:lNoMinus ) If oCol:nEditAlign != Nil _SetAlign( , , oCol:nEditAlign, oCol:oEdit:Index ) EndIf If ! Empty( oCol:aKeyEvent ) ... тогда в примере (был выше) добавим FOR EACH o IN oBrw:aColumns o:bGotFocus := {|no,nc,ob| _wPost(1, ob, ob) } o:nEditRow := This.Label_1.Row o:nEditCol := This.Label_1.Col o:nEditWidth := This.Label_1.Width o:nEditHeight := This.Label_1.Height o:nEditAlign := DT_LEFT o:lEdit := .T. NEXT ... тогда GetBox будут, как и Label, в одной позиции Еще можно добавить свойство ALIGN в команды #command @ <row>, <col> GETBOX <name> ; ... [/pre2]

gfilatov2002: SergKis пишет: CLASS TGetBox FROM TControl ... METHOD VarGet() ACCESS Index INLINE ::oGet:Index ACCESS Handle INLINE iif( Empty( ::Index ), 0, _HMG_aControlHandles [ ::Index ] ) А зачем эти новые переменные в классе Ведь эти значения уже есть в классе: - oGet:Index - это oGet:Atx - oGet:Handle - это oGet:hWnd

SergKis: gfilatov2002 пишет Ведь эти значения уже есть в классе Если есть, то, конечно, не нужны. Сильно не вникал, но названия особенно :Atx - догадываться надо. Скопировал со своей версии. Но чтобы голова не болела, сделал бы ACCESS Index INLINE ::Atx ACEESS Handle INLINE ::hWnd


gfilatov2002: SergKis пишет: If oCol:nEditAlign != Nil _SetAlign( , , oCol:nEditAlign, oCol:oEdit:Index ) EndIf If ! Empty( oCol:aKeyEvent ) ... тогда в примере (был выше) добавим FOR EACH o IN oBrw:aColumns o:bGotFocus := {|no,nc,ob| _wPost(1, ob, ob) } o:nEditRow := This.Label_1.Row o:nEditCol := This.Label_1.Col o:nEditWidth := This.Label_1.Width o:nEditHeight := This.Label_1.Height o:nEditAlign := DT_LEFT o:lEdit := .T. NEXT Выравнивание в oGet сделал (работает в Вашем примере). Благодарю за предложение

Andrey: Всем привет. Использую в МиниГуи такую функцию:[pre2] ? ProcNameLine(0) ? ProcNameLine(1) ? ProcNameLine(2) FUNCTION ProcNameLine(nVal) DEFAULT nVal := 0 RETURN "Вызов из: " + ProcName( nVal + 1 ) + "(" + hb_ntos( ProcLine( nVal + 1 ) ) + ") --> " + ProcFile( nVal + 1 ) [/pre2] Удобнее писать в прогах... Может занести в саму МиниГуи ?

gfilatov2002: Опубликована новая сборка 19.10 для BCC 5.8.2 и компиляторов Harbour и xHarbour. Базовый дистрибутив находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.10-setup.exe Также имеются дополнительные сборки для следующих Си-компиляторов: - MinGW 9.2.1 32-bit для Harbour 3.2.0dev; (есть в наличии) - MinGW 8.2.0 64-bit для Harbour 3.4.0dev; (есть в наличии) - MS VisualC 2019 32-bit для Harbour 3.2.0dev; (под заказ) - MS VisualC 2019 64-bit для Harbour 3.2.0dev; (под заказ) - Pelles C 8.0 32-bit для xHarbour b10253; (под заказ) - Pelles C 9.0 64-bit для xHarbour b10253; (под заказ) - Borland/Embarcadero C++ 7.4 (32-bit) для Harbour 3.2.0dev; (под заказ) - Open Watcom C/C++ 2.0 (32-bit) для Harbour 3.2.0dev. (под заказ) Благодарю за Ваше внимание и поддержку

SergKis: gfilatov2002 После установки new 19.10 (C:\MiniGui) примеры не собираются, сообщение "The system find path specified" Вернул предыдущую - все ok!

Dima: SergKis Собираются норм , обрати внимание что был сделан переход с Bcc55 на Bcc58 Пути поправь

SergKis: Dima пишет был сделан переход с Bcc55 на Bcc58 У меня его и нет совсем. Он же, вроде, коммерческий был.

Dima: SergKis пишет: У меня его и нет совсем Теперь есть http://hmgextended.com/files/MISC/bcc582.zip

SergKis: Dima Спасибо. А как с лицензией ? Если она коммерческая, то, наверно и ставить не буду.

Andrey: > Какой статус лицензии у BCC 5.8 ? Григорий так мне написал: [pre2]Лицензия подобна BCC 5.5 (она есть в архиве BCC 5.8 на сайте). В любом случае, это такой же устаревший продукт (2006 года выпуска), как и BCC 5.5.[/pre2]

SergKis: Andrey пишет это такой же устаревший продукт (2006 года выпуска), как и BCC 5.5. Достаточно[pre2] LIMITED WARRANTY Except with respect to the Redistributables, which are provided "as is," without warranty of any kind, Borland warrants that the Software, as updated and when properly used, will perform substantially in accordance with the accompanying documentation, and the Software media will be free from defects in materials and workmanship, for a period of ninety (90) days from the date of receipt. Any implied warranties on the Software are limited to ninety (90) days. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.[/pre2] Доказывать, что ты не "верблюд", в наших краях себе дороже выйдет. В таком варианте, для меня, проект hmg закрыт

gfilatov2002: SergKis пишет: Достаточно LIMITED WARRANTY Except with respect to the Redistributables, which are provided "as is," without warranty of any kind, Borland warrants that the Software, as updated and when properly used, will perform substantially in accordance with the accompanying documentation, and the Software media will be free from defects in materials and workmanship, for a period of ninety (90) days from the date of receipt. Any implied warranties on the Software are limited to ninety (90) days. Some states/jurisdictions do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you. Доказывать, что ты не "верблюд", в наших краях себе дороже выйдет. В таком варианте, для меня, проект hmg закрыт Может я чего то не понял, но точно такая же ограниченная гарантия есть у BCC 5.5 В чем тогда проблема с BCC 5.8.2

SergKis: gfilatov2002 пишет В чем тогда проблема с BCC 5.8.2 Везде про bcc 55 пишутОсобенностью этого программного продукта, кроме бесплатной лицензии, является отсутствие интегрированной визуальной среды разработки и библиотек компонентов, входящих в состав полного коммерческого продукта Borland Builder C++. Однако в бесплатный пакет входят почти все заголовочные и библиотечные файлы, необходимые для разработки 32-разрядных приложений под Windows Про bcc 5.8.2 не видел. У нас есть организация, следящая за лицензиями (ходят по клиентам с проверками). Если я приду и попаду у клиента на такую шнягу, то мой ноут может оказаться забранным на n-ое время, а вернется ли, х.з. Стукачков много развелось (по разным причинам) к тому же. На bcc 5.5 в целом программ нет (небольшая утилита), вся основная работа на vc hmg 2.07 версии. Так что, лучше bcc 5.8 не буду устанавливать совсем

Dima: SergKis MinGW поставь

gfilatov2002: SergKis пишет: лучше bcc 5.8 не буду устанавливать совсем По большому счету, этот компилятор можно не устанавливать, поскольку все библиотеки, скомпилированные BCC 5.8, прекрасно работают с BCC 5.5. У них полная бинарная совместимость

SergKis: Dima пишет MinGW поставь Зачем ? Рабочая версия на vc есть. Версия с bcc 55 использовалась как пример исследования новшеств. Unicode нет версии. Из hmg в рабочей версии исп. только browse и tsbrowse. Все печати, EAN коды, pdf, mail, ... vo 2.7 все umicode TsBrowse у меня практически идентичны ...

Dima: SergKis пишет: Зачем ? я пошутил )

SergKis: gfilatov2002 пишет У них полная бинарная совместимость А поковыряться ? Пересобрать lib-ы ?



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