Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
gfilatov2002: alex_II пишет: Ошибка стала возникать при вызове DROPDOWN меню Если возможно, подготовьте простой пример, демонстрирующий эту ошибку. Мой контрольный пример работает нормально (см. ниже) [pre2]#include "minigui.ch" Function Main DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI ToolBar Demo' ; ICON 'DEMO.ICO' ; MAIN ; FONT 'Arial' SIZE 10 DEFINE STATUSBAR STATUSITEM 'HMG Power Ready!' END STATUSBAR DEFINE MAIN MENU POPUP '&File' ITEM 'Get ToolBar_C Button_1' ACTION MsgInfo ( if ( Form_1.ToolBar_c.Button_1c.Value , '.T.' , '.F.' ) , 'Button_1c' ) ITEM 'Get ToolBar_C Button_2' ACTION MsgInfo ( if ( Form_1.ToolBar_c.Button_2c.Value , '.T.' , '.F.' ) , 'Button_2c' ) ITEM 'Get ToolBar_C Button_3' ACTION MsgInfo ( if ( Form_1.ToolBar_c.Button_3c.Value , '.T.' , '.F.' ) , 'Button_3c' ) SEPARATOR ITEM 'Set ToolBar_C Button_1' ACTION Form_1.ToolBar_c.Button_1c.Value := .T. ITEM 'Set ToolBar_C Button_2' ACTION Form_1.ToolBar_c.Button_2c.Value := .T. ITEM 'Set ToolBar_C Button_3' ACTION Form_1.ToolBar_c.Button_3c.Value := .T. SEPARATOR ITEM '&Exit' ACTION Form_1.Release END POPUP POPUP '&Help' ITEM '&About' ACTION MsgInfo ("MiniGUI ToolBar demo") END POPUP END MENU DEFINE SPLITBOX DEFINE TOOLBAR ToolBar_a BUTTONSIZE 45,40 FONT 'Arial' SIZE 8 FLAT BUTTON Button_1a ; CAPTION '&Undo' ; PICTURE 'button4.bmp' ; ACTION MsgInfo('Click! 1') BUTTON Button_2a ; CAPTION '&Save' ; PICTURE 'button5.bmp' ; WHOLEDROPDOWN DEFINE DROPDOWN MENU BUTTON Button_2a ITEM 'Exit' ACTION Form_1.Release ITEM 'About' ACTION MsgInfo ("MiniGUI ToolBar Demo") END MENU BUTTON Button_3a ; CAPTION '&Close' ; PICTURE 'button6.bmp' ; ACTION MsgInfo('Click! 3') ; DROPDOWN DEFINE DROPDOWN MENU BUTTON Button_3a ITEM 'Disable ToolBar 1 Button 1' ACTION Form_1.Button_1a.Enabled := .F. ITEM 'Enable ToolBar 1 Button 1' ACTION Form_1.Button_1a.Enabled := .T. END MENU END TOOLBAR /* DEFINE TOOLBAR ToolBar_b BUTTONSIZE 45,40 FONT 'ARIAL' SIZE 8 FLAT BUTTON Button_1b ; CAPTION 'More ToolBars...' ; PICTURE 'button7.bmp' ; ACTION MsgInfo('Click! 1'); BUTTON Button_2b ; CAPTION 'Button 2' ; PICTURE 'button8.bmp' ; ACTION MsgInfo('Click! 2'); SEPARATOR BUTTON Button_3b ; CAPTION 'Button 3' ; PICTURE 'button7.bmp' ; ACTION MsgInfo('Click! 3') END TOOLBAR DEFINE TOOLBAR ToolBar_c BUTTONSIZE 45,40 FONT 'Arial' SIZE 8 CAPTION 'ToolBar 3' FLAT BUTTON Button_1c ; CAPTION 'Check 1' ; PICTURE 'button4.bmp' ; ACTION MsgInfo('Hey!'); CHECK GROUP BUTTON Button_2c ; CAPTION 'Check 2' ; PICTURE 'button5.bmp' ; ACTION MsgInfo('Hey!') ; CHECK GROUP BUTTON Button_3c ; CAPTION 'Check 3' ; PICTURE 'button6.bmp' ; ACTION MsgInfo('Hey!') ; SEPARATOR; CHECK GROUP BUTTON Button_4c ; CAPTION 'Help Check' ; PICTURE 'button9.bmp' ; ACTION MsgInfo('Hey!') ; CHECK END TOOLBAR */ END SPLITBOX END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 Return Nil [/pre2]
SergKis: alex_II Замените вызовы функций hSplBox := _DefineSplitbox('Form_main') ... _EndSplitBox() командами DEFINE SPLITBOX HANDLE hSpl ... END SPLITBOX Запустил несколько примеров из samples со splitbox и dropdown - работают
SergKis: gfilatov2002 Если записать как у alex_II, то валится, запись командой работает
gfilatov2002: Подготовил перед Рождеством уже 5-ю бету для новой сборки библиотеки Список изменений у этой сборки следующий [pre2] * Fixed: Problem with AUTOSIZE property handling in the CHECKLABEL control. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Basic\CheckLabel_3) * Enhanced: Added 'VCENTERALIGN' clause (optional) for vertical aligning of a text in CHECKLABEL control. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Basic\CheckLabel_2) * Modified: A Switcher control was used for managing of the logical variables in the function InputWindow(). Note: an obsolete behaviour may be restored via adding the definition of the constant HMG_LEGACY_ON to the header file minigui.ch. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo at folder \samples\Basic\MAINDEMO_(SYNTAX_I)) * Enhanced: Added an auxiliary conversion function HMG_ClrToHTML( nClr ) --> cHtmlClr ( format "#rrggbb" ) Example: ? HMG_ClrToHTML( CLR_BLUE ) --> #000080 Contributed by Grigory Filatov <gfilatov@inbox.ru> (see Tsb2xml.prg in folder \samples\Advanced\Tsb_Brw2xml) * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - fixed the processing of the variable :lNoMoveCols in the method RButtonDown(). The bug was reported by Sylvain Larche. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.27.0dev (from 3.26.0). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2018-12-31 15:32): * Updated: OpenSSL wrapper for using of the version 1.0.2q. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.4.3.5 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: 'Switcher control for logical variables' sample. Syntax: @ <row>,<col> SWITCHER <name> [ OF <parent> ] ; HEIGHT 46 ; IMAGE { 'MINIGUI_SWITCH_ON', 'MINIGUI_SWITCH_OFF' } ; [ VALUE <cValue> ] ; [ FONT <fontname> SIZE <fontsize> ] ; [ LEFTCHECK ] [ CHECKED ] ; [ ON MOUSEHOVER <bMouseHover> ] ; [ ON MOUSELEAVE <bMouseLeave> ] ; [ ON CLICK <bMouseClick> ] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\CheckLabel_3) * New: 'Media Player Test' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo2.prg in folder \samples\Basic\PLAYER_1) * Updated: 'Print Pie Graph' sample: the updated data for December 2018. Windows 10 is the leader for the first time since July 2015. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo.prg in folder \samples\Basic\GraphPrint) * Updated: 'RichEdit Extended' samples: - a correction in the function _SetFontSizeRTF(). Contributed by Pierpaolo Martinello <pier.martinello[at]alice.it> (see in folders \samples\Advanced\RicheditEx and \samples\Advanced\RicheditEx_2) * Updated: 'MiniGUI DataBase Utility' sample: - fixed a command line processing. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \Utils\mgDBU) * Updated: MPM utility: - added permit of execution of a batch file with an admin privilege request. Based upon a contribution of Pierpaolo Martinello (see in folder \Utils\MPM) [/pre2]Благодарю за Ваше внимание
SergKis: gfilatov2002 У себя сделал небольшую правку (расчет высоты для колонки с несколькими CRLF[pre2] Static Function SetHeights( oBrw ) ... // Now for cells nHHeight := oBrw:nHeightCell For nEle := 1 TO Len( oBrw:aColumns ) ... // Default oBrw:nMemoHV := 2 If Empty(oBrw:nMemoHV) .and. Chr(13) $ cHeading oBrw:nMemoHV := Len( hb_ATokens(cHeading, Chr(13)) ) EndIf nHeight := SBGetHeight( oBrw:hWnd, hFont, 0 ) ... [/pre2])
gfilatov2002: SergKis пишет: расчет высоты для колонки с несколькими CRLF Принято с небольшими изменениями Благодарю за Вашу помощь и внимание
SergKis: SergKis пишет If Empty(oBrw:nMemoHV) .and. Chr(13) $ cHeading Использую так в колонке (при работе с базой колонок, созданной заранее) [pre2] :cHeading, "Адрес юридический" + CRLF + "Адрес фактический" + CRLF + "Контакты" :bData := {|| Alltrim(K_8) + chr(13) + chr(10) + ; // Adr. jur. Alltrim(K_A) + chr(13) + chr(10) + ; // Adr. fakt. Alltrim(K_C) } ) // telefon, ... ... при oBrw:nMemoHV := 1 // будет одна строка в просмотре тсб oBrw:nMemoHV := 2 // будет две строки ... oBrw:nMemoHV := 0 // будет три строки ... [/pre2]
Andrey: SergKis пишет: Использую так в колонке (при работе с базой колонок, созданной заранее) Примерчик бы маленький сделать в папку Tsb_Basic - demo5.prg ! Да и в demo3.prg правку небольшую внести:[pre2] DEFINE WINDOW Form_0 ; .... TITLE "(3) TsBrowse DBASE SHARED Demo" ; .... STATUSITEM "(3) TsBrowse - network opening of the database!" WIDTH 290 FONTCOLOR BLUE[/pre2]
gfilatov2002: Выпущена новая сборка 19.01 для BCC 5.5.1 и компиляторов Harbour и xHarbour. Установщик базового дистрибутива находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.01-setup.exe Также имеются дополнительные сборки для следующих Си-компиляторов: - MinGW 8.1.0 32-bit для Harbour 3.2.0dev; (есть в наличии) - MinGW 8.2.0 64-bit для Harbour 3.4.0dev; (есть в наличии) - MS VisualC 2017 32-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - MS VisualC 2017 64-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.2.0dev. (есть в наличии). Благодарю за Ваше внимание
gfilatov2002: SergKis пишет: Модификация \samples\Advanced\Tsb_Brw2xml\Tsb4xml.prg Благодарю за помощь
LYSK: Григорий, а то, что исчезли примеры ADSRDD - это так и должно быть?
gfilatov2002: LYSK пишет: исчезли примеры ADSRDD В каких папках были эти примеры Насколько я помню, такие примеры всегда были дополнительные из-за необходимости включать в поставку необходимые для работы dll-ки. По ходу, обновил сборку 19.01 с учетом последних изменений (путь и имя установщика не изменились)
LYSK: так то и была папка ADS_RDD. "Живому тормоз-мертвечина!" как сказал классик. Появилась необходимость вжиться в программу, где индексы IDX, которых оказывается не не умеет HARBOUR ;-). И фиг было бы с ними, но какое то время старое и новое должны жить одновременно.. Вот и посмотреось в сторону локального ADS.
Haz: LYSK пишет: Вот и посмотреось в сторону локального ADS так проблема то в чем ? в поставке rddads скорее не самый новый , но рабочий. Не обращал внимания , но неужель DBFCDX не умеет работать с IDX ??
LYSK: Pasha вот тут https://clipper.borda.ru/?1-4-0-00000805-000-0-0-1381588962 писал: Сейчас посмотрел сырцы харбора, и увидел, что индексы idx не поддерживаются. Проблема в том что пока не нашлось client ingene, совместимого с adordd из комплектной harbour/lib
Dima: LYSK пишет: Появилась необходимость вжиться в программу, где индексы IDX, которых оказывается не не умеет HARBOUR ;-). Так собери ADSRDD и юзай CDX и IDX , хоть вместе , хоть отдельно....работает !
Haz: Dima пишет: Так собери ADSRDD именно так , скачай последние сырцы и собери с ними под нужного клиента