Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).

Ответов - 301, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All

Andrey: gfilatov2002 пишет: - добавлены новые интересные примеры. Список отдельно по папкам написать можно ? А то опять все примеры смотреть долго.

gfilatov2002: Andrey пишет: Список отдельно по папкам Да, конечно [pre2] * New: 'MOUSEDRAG event' sample. Contributed by Andrey Sermyagin <super@freemail.hu> (see in folder \samples\Basic\ON_MOUSEDRAG) * New: 'MsSql Database Driver' sample. Contributed by Alen Uzelac <alen@bbm.hr> (see in folder \samples\Advanced\MSSQL) * New: 'SuperChef Pizzaria System' sample. Contributed by Marcelo Neves <msdn_001@yahoo.com.br> (see in folder \samples\Applications\Super) [/pre2]

gfilatov2002: Новый релиз библиотеки для компилятора BCC выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=8710 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-2.1.4-setup.zip Также доступна облегченная сборка для компилятора MinGW по адресу: http://hmgextended.com/files/CONTRIB/hmg214-mingw.zip Ваши комментарии, как всегда, приветствуются...


Andrey: Примеры классные. Нашел вот тут ошибку случайно... Система WinXP Prof SP3

Vlad04: А у меня нормально , Система такая же - WinXP Prof SP3

alex_II: Прочитав про глюк при добавлении новых записей по "стрелка вниз" порадовался что я не использую этот механизм. Однако радость была недолгой, я пропустил похожий глюк, который появился как я выяснил с версии 2.1.1 и благополучно дожил до версии 2.1.4. Наблюдается при скроллинге вниз(колесом мыши или клавиатурой). Предпоследняя строка в окне начинает повторяться, обновляеться только последняя. При скроллинге вверх все ОК. Лечение нашел случайно копаясь в примерах с TSBrowse, я обнаружил что глюк появляеться только тогда, когда есть многострочные заголовки ADD COLUMN TO Br_ul ; HEADER 'Населеный'+CRLF+'пункт' ; DATA RTrim(f_np(ul->kod_np)) ; ALIGN DT_CENTER, DT_CENTER ; SIZE w_kod_np Если HEADER будет в одну строку - глюк исчезает, но это полумера. Копаясь дальше в примерах я наткнулся на строку: Brw_4:nHeightHead += 3 И хотя смысла увеличивать шапку таблици я не видел, взял и попробовал увеличить только на 1 и о чудо - всё заработало!!!

gfilatov2002: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Завершена подготовка к опубликованию новой версии 2.1.5, которая выйдет завтра. Кратко, что нового: - исправление обнаруженных ошибок/опечаток в коде ; - добавлена обработка события NotifyBalloonClick для иконки в трее ; - изменен порядок вызова кодового блока для события ON PAINT, что может приводить к несовместимости со старым кодом. Поэтому для решения вероятных проблем оставлена возможность использования этого события по-старому - просто в начале программы надо добавить вызов команды SET PROGRAMMATICCHANGE OFF, и тогда все будет работать, как и раньше ; - обновлена UNICODE-сборка Харбора версии 3.2.0dev, а также библиотека MiniPrint для совместимости с изменением в обработке события On Paint; - добавлены новые и обновлены старые примеры (как обычно ). Благодарю за внимание!

gfilatov2002: Новый релиз библиотеки для компилятора BCC выложил, как и обещал, по адресу: http://minigui.mylivepage.ru/file/?fileid=8711 а также, как обычно, на сервере http://hmgextended.com по адресу: http://hmgextended.com/files/CONTRIB/hmg-2.1.5-setup.zip Также доступна облегченная сборка для компилятора MinGW по адресу: http://hmgextended.com/files/CONTRIB/hmg215-mingw.zip

Andrey: gfilatov2002 пишет: овый релиз библиотеки выложил Спасибо за релиз ! Будем тестировать....

alex_II: gfilatov2002 пишет: Новый релиз Переход прошел нормально, всё работает! Нужна Ваша помощь, Григорий Давным-давно, когда текущий релиз был где-то 79-80, написал следующую программу: на главной форме имеется объект TSBrowse который настроен на работу с массивом. После старта приложения можно было выбрать требуемый dbf-файл и TSBrowse перенастраивался на работу уже с файлами. Некоторое время назад возникла необходимость кое-что изменить в программе и я попытался собрать её на последнем релизе, но обнаружил что мой код больше не работает. Отсюда вопрос: можно ли теперь динамически перенастраивать работу с массива на файл и обратно?

Vladimir: Пересобирал MiniGUI, по библиотеке TSBrowse получил несколько предупреждений: h_tbrowse.prg(13425) Warning W0034 STATIC Function 'BRWGOTO' defined but never used h_tbrowse.prg(13425) Warning W0034 STATIC Function 'FIELDSETGETBLOCK' defined but never used h_tbrowse.prg(13425) Warning W0034 STATIC Function 'GENDATA' defined but never used h_tbrowse.prg(13425) Warning W0034 STATIC Function 'GENFOOT' defined but never used h_tbrowse.prg(13425) Warning W0034 STATIC Function 'GENHEAD' defined but never used Для исправления функцию BrwGoto() следует поместить внутрь условия компиляции #ifdef _TSBFILTER7_ #endif, а функции FiedlSetGetBlock(), GenData(), GenFoot(), GenHead() закомментировать или вообще удалить. Похоже, они остались бесхозными от предыдущих изменений. И ещё попался один какой-то мелкий глюк. Код примера взят из справки TSBrowse, добавлена строка сообщений, при перемещении по таблице в неё выводится значение из 1-й колонки. [pre] #include "minigui.ch" #include "tsbrowse.ch" Function SBArray() Local oDlg, bData, bcolor, bAlign, bDelete, aBmp[ 2 ], Arr1, ; nTot2, nTot3, oFont, nGood, nBad, nPreVal, aColor[ 2 ] Arr1 := {} Private oLbx AADD( Arr1, {"Ena ", 100, 200} ) AADD( Arr1, {"Dyo ", 125, 200} ) AADD( Arr1, {"Dekaepta ", 100, 300} ) AADD( Arr1, {"Dekaokto ", 100, 200} ) nTot2 := nTot3 := nGood := nBad := nPreVal := 0 // footers values at start AEval( Arr1, { | e | nTot2 += e[ 2 ], nTot3 += e[ 3 ], ; If( ( e[ 2 ] + e[ 3 ] ) < 325, ++nGood, ++nBad ) } ) aBmp:= { LoadIcon( "Level1.bmp" ), ; LoadIcon( "Level2.bmp" )} DEFINE WINDOW Form_3 ; AT 100,50 ; WIDTH 500 HEIGHT 400 ; TITLE "MiniGUI TsBrowse ( Browsing an array ) " ; FONT "MS Sans Serif" SIZE 8 ; MAIN @ 320, 20 Label Label_1 Value "" Width 100 Define Statusbar StatusItem "" End statusbar DEFINE TBROWSE oLbx AT 10,15 ; OF Form_3 WIDTH 470 HEIGHT 290 CELLED; COLORS {CLR_BLACK, CLR_CYAN} ; On Change Show( oLbx ) oLbx:SetArray( Arr1 ) // this is necessary to work with arrays // let's define the block for background color bColor := { || If( oLbx:nAt % 2 == 0, CLR_YELLOW, CLR_CYAN ) } ADD COLUMN TO TBROWSE oLbx DATA ARRAY ELEMENT 1; TITLE "Col 1" ; SIZE 120 EDITABLE; // this column is editable COLORS CLR_BLACK, bColor; // background color from a Code Block 3DLOOK TRUE, TRUE, TRUE; // cells, titles, footers MOVE DT_MOVE_NEXT; // cursor goes to next editable column VALID { | uVar | ! Empty( uVar ) }; // don't want empty rows ALIGN DT_LEFT, DT_CENTER, DT_RIGHT; // cells, title, footer FOOTER "Totals->" ADD COLUMN TO TBROWSE oLbx DATA ARRAY ELEMENT 2; TITLE "Col 2" ; ALIGN DT_RIGHT, DT_CENTER; // let's align cells to right and center title SIZE 80 EDITABLE; // this column is editable COLORS CLR_BLACK, bColor; // background color from a Code Block 3DLOOK TRUE, TRUE, TRUE; // cells, titles, footers MOVE DT_MOVE_NEXT; // cursor goes to next editable column FOOTER { || Transform( nTot2, "##,###" ) }; // must be a code block PREEDIT { | uVar | nPreVal := uVar }; // updating footer value POSTEDIT { | uVar | nTot2 += ( uVar - nPreval ), ; If( Eval( oLbx:aColumns[ 4 ]:bData ) < 325, ; If( oLbx:lChanged, ( ++nGood, --nBad ), Nil ), ; If( oLbx:lChanged, ( ++nBad, --nGood ), Nil ) ), ; oLbx:DrawFooters() } ADD COLUMN TO TBROWSE oLbx DATA ARRAY ELEMENT 3; TITLE "Col 3" ; ALIGN DT_RIGHT, DT_CENTER; // let's align cells to right and center title SIZE 80 EDITABLE; // this column is editable COLORS CLR_BLACK, bColor; // background color from a Code Block 3DLOOK TRUE, TRUE, TRUE; // cells, titles, footers MOVE DT_MOVE_NEXT; // cursor goes to next editable column FOOTER { || Transform( nTot3, "##,###" ) }; // must be a code block PREEDIT { | uVar | nPreVal := uVar }; // updating footer value POSTEDIT { | uVar | nTot3 += ( uVar - nPreval ), ; If( Eval( oLbx:aColumns[ 4 ]:bData ) < 325, ; If( oLbx:lChanged, ( ++nGood, --nBad ), Nil ), ; If( oLbx:lChanged, ( ++nBad, --nGood ), Nil ) ), ; oLbx:DrawFooters() } // next column is not part of the array, then bData must be defined apart bData := { || If( ! oLbx:lAppendMode, ; oLbx:aArray[ oLbx:nAt, 2 ] + ; oLbx:aArray[ oLbx:nAt, 3 ], 0 ) } // dynamic setting of background color for next column depending on cell's value bColor := { || If( Eval( oLbx:aColumns[ 4 ]:bData ) < 325, CLR_RED, CLR_CYAN ) } ADD COLUMN TO TBROWSE oLbx DATA bData; TITLE "Col 4" ; ALIGN DT_RIGHT, DT_CENTER; // let's align cells to right and center title SIZE 80; // this column is NOT editable COLORS CLR_WHITE, bColor; // background color from a Code Block 3DLOOK TRUE, TRUE, TRUE; // cells, titles, footers FOOTER { || Transform( nTot2 + nTot3, "##,###" ) } // with next column let's try BitMaps on cells with dynamic alignment bData := { || If( Eval( oLbx:aColumns[ 4 ]:bData ) < 325, ; aBmp[ 1 ], aBmp[ 2 ] ) } // new V.7.0 merging data and bitmaps at specific cell position // a value greater than 4 in HiWord, means specific pixel location from column left bAlign := { || nMakeLong( DT_LEFT, ; // LoWord = data alignment If( Eval( oLbx:aColumns[ 4 ]:bData ) < 325, ; 10, 50 ) ) } // HiWord = bitmap alignment ADD COLUMN TO TBROWSE oLbx DATA bData ; BITMAP; // tells TSBrowse that data is a BitMap TITLE "Result" + CRLF + "Good Bad"; // Multi-Line heading ALIGN bAlign, DT_CENTER, DT_CENTER; // cell, title, footer SIZE 71; // this column is NOT editable 3DLOOK TRUE, TRUE, TRUE; // cells, titles, footers FOOTER { || Str( nGood, 4 ) + " Good" + CRLF + ; Str( nBad, 4 ) + " Bad" } // Multi-Line footer // activating Auto Append Mode oLbx:SetAppendMode( .T. ) // activating Auto Delete Mode // I'll use bDelete code block to update footers bDelete := { | nAt, oBrw | nTot2 -= oBrw:aArray[ nAt, 2 ], ; nTot3 -= oBrw:aArray[ nAt, 3 ], ; If( ( oBrw:aArray[ nAt, 2 ] + ; oBrw:aArray[ nAt, 3 ] ) < 325, ; --nGood, --nBad ), oBrw:DrawFooters() } oLbx:SetDeleteMode( .T., .T., bDelete ) // ( lOnOff, lConfirm, bDelete ) // Assigning default values to new elements created with Auto Append. // For last column (5), I'm using a code block to update footers without // assigning any value to that column, since code block returns Nil oLbx:aDefault := { Nil, 50, 50, Nil, ; { || nTot2 += 50, nTot3 += 50, ++nGood, ; oLbx:DrawFooters(), Nil } } // using Super Titles ADD SUPER HEADER TO oLbx FROM COLUMN 2 TO COLUMN 3 ; TITLE "Col2 and Col 3" 3DLOOK // increasing cell and super header height oLbx:nHeightCell += 2 oLbx:nHeightSuper += 7 END TBROWSE END WINDOW ACTIVATE WINDOW Form_3 Return Nil Static Procedure Show Memvar oLbx Local cVal := oLbx:aArray[ oLbx:nAt , 1 ] Form_3.StatusBar.Item(1) := cVal Form_3.Label_1.Value := cVal Return [/pre] При перемещении по таблице клавишами всё нормально - значение в строке показывается, но если делать это мышкой - появляется и пропадает. Если мышиный курсор неподвижен, двигаться клавишами - нормально, стоит пошевелить мышку - пропадает. А вот дублирование вывода на метку не изменяется. С чем бы это связано ?

gfilatov2002: Vladimir пишет: Для исправления функцию BrwGoto() следует поместить внутрь условия компиляции #ifdef _TSBFILTER7_ #endif, а функции FiedlSetGetBlock(), GenData(), GenFoot(), GenHead() закомментировать или вообще удалить. Большое спасибо за сообщение! Уже поправил для следующей сборки Vladimir пишет: попался один какой-то мелкий глюк Да, это известная неприятность, связанная с обработкой сообщения WM_MOUSEMOVE, но пока не нашел для нее решения

Dr. Oldwarez: В BROWSE (не путать с TBROWSE) по умолчанию все поля, независимо от типа, выравниваются налево. Хотя принято текстовые поля выравнивать налево, а числовые - направо. Поэтому приходится выставлять выравнивание с помощью JUSTIFY {BROWSE_JTFY_LEFT, BROWSE_JTFY_CENTER,BROWSE_JTFY_RIGHT,...}ю Нельзя ли сделать, чтобы по умолчанию BROWSE выравнивало текстовые поля налево, а числовые, соответственно - направо?

gfilatov2002: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Завершается подготовка к опубликованию новой сборки версии 2.1.6, которая выйдет на следующей неделе. Кратко, что нового: - исправление обнаруженных ошибок/опечаток в коде, а также GDI-утечек; - выполнены изменения С-кода для совместимости со старыми версиями xHarbour; - обновлена UNICODE-сборка Харбора версии 3.2.0dev, а также библиотека TSBrowse при активном участии Чумаченко Владимира; - добавлены новые (HPDF Print) и обновлены старые примеры (как обычно ). Благодарю за внимание!

Andrey: gfilatov2002 пишет: обновлены старые примеры (как обычно ). А :\MiniGUI\SAMPLES\Advanced\WinVersion для новых ОС обновился ?

gfilatov2002: Andrey пишет: А :\MiniGUI\SAMPLES\Advanced\WinVersion для новых ОС обновился ? Да, уже сделал

Andrey: gfilatov2002 пишет: Да, уже сделал БОЛЬШОЕ спасибо !

Andrey: В marinas-ide есть возможность вывода PNG картинок. CREATE IMAGE Image_1 ROW 110 COL 120 WIDTH 300 HEIGHT 300 BACKCOLOR {155,0,0} ALIGN Qt_AlignCenter PICTURE "../resource/argentina_in_motorcycle.png" ONCLICK {|| mg_Log( "IMAGE Clicked !!!" )} А можно взять код оттуда и прикрутить показ PNG картинок в МиниГуи ?

gfilatov2002: Новый релиз библиотеки для компилятора BCC выложил, как и обещал, по адресу: http://hmgextended.com/files/CONTRIB/hmg-2.1.6-setup.zip Также доступна облегченная сборка для компилятора MinGW по адресу: http://hmgextended.com/files/CONTRIB/hmg216-mingw.zip и облегченная сборка для компилятора xHarbour 1.2.3 (rev.7933) на английском форуме minigui в папке CONTRIB

gustow: Спасибо, Григорий! Будем посмотреть :)



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