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

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

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 пишет: А можно кратко об этих командах ? Я добавил следующие команды для совместимости с официальным релизом: - новая функция IsMainMenuDefined ( <FormName> ) - команды уничтожения ранее заданного меню в процессе выполнения программы: RELEASE MAIN MENU OF <form> RELEASE CONTEXT MENU OF <form> RELEASE NOTIFY MENU OF <form> RELEASE DROPDOWN MENU BUTTON <button> OF <form> RELEASE DROPDOWNMENU OWNERBUTTON <button> OF <form> а также пример использования этих команд

gfilatov2002: Новый релиз библиотеки для компилятора BCC выложил, как и обещал, на оффициальном сайте библиотеки по адресу: http://hmgextended.com/files/CONTRIB/hmg-2.2.2-setup.zip Также доступна полная сборка для компилятора MinGW по адресу: http://hmgextended.com/files/CONTRIB/hmg222-mingw.exe Новый релиз библиотеки для компилятора BCC добавил также по адресу: http://minigui.mylivepage.ru/file/?fileid=8721 Благодарю всех нетерпеливых и внимательных за 12 скачиваний к этому моменту!


alex_II: Перешел на версию 2.2.2 – полет нормальный Большое спасибо

Andrey: gfilatov2002 - хотелось бы видеть пример для GUI отладчика для Harbour в поставке MiniGui. Пускай общественность знает и пользуется классным отладчиком, тем более что в МиниГуи отладки нет, то что есть - неудобно пользоваться. Кто поддерживает это предложение ?

krutoff: Григорий, спасибо за новую версию. Хочу попробовать ее на XHarbour под Windows 8. Подскажите, где можно скачать последние бинарники XHarbour для Вашей версии 2.2.2?

gfilatov2002: krutoff пишет: Подскажите, где можно скачать последние бинарники XHarbour для Вашей версии 2.2.2? Можно взять здесь http://hmgextended.com/files/CONTRIB/xhmg222_xhb9950.zip

gfilatov2002: Andrey пишет: хотелось бы видеть пример для GUI отладчика для Harbour Очень просто: 1) копируете 2 файла - hwgdebug.lib и hwgdebug.exe в папку своего проекта (или примера); 2) запускаете графический отладчик на выполнение по команде Compile.bat /s /b /l hwgdebug Вот и все!

alkresin: Еще было бы хорошо дополнить эти 2 функции из dbgconnect.prg ( hwgdebug.lib ) кодом для Minigui: Function hwg_dbg_Alert( cMessage ) Local bCode := &( Iif( Type( "hwg_msginfo()" ) == "UI", "{|s|hwg_msginfo(s)}", "{|s|alert(s)}" ) ) Eval( bCode, cMessage ) Return Nil Function hwg_dbg_Quit() Local bCode := &( Iif( Type( "hwg_endwindow()" ) == "UI", "{|s|hwg_endwindow()}", "{||__Quit()}" ) ) Eval( bCode ) Return Nil

gfilatov2002: Ok Function hwg_dbg_Alert( cMessage ) Local bCode := &( Iif( Type( "hwg_msginfo()" ) == "UI", "{|s|hwg_msginfo(s)}", "{|s|msginfo(s)}" ) ) Eval( bCode, cMessage ) Return Nil Function hwg_dbg_Quit() Local bCode := &( Iif( Type( "hwg_endwindow()" ) == "UI", "{|s|hwg_endwindow()}", "{||ReleaseAllWindows()}" ) ) Eval( bCode ) Return Nil

alkresin: Тогда, наверное, вот так: Function hwg_dbg_Alert( cMessage ) Local bCode := &( Iif( Type( "hwg_msginfo()" ) == "UI", "{|s|hwg_msginfo(s)}", ; Iif( Type( "msginfo()" ) == "UI", "{|s|msginfo(s)}", "{|s|alert(s)}" ) ) ) Eval( bCode, cMessage ) Return Nil Function hwg_dbg_Quit() Local bCode := &( Iif( Type( "hwg_endwindow()" ) == "UI", "{|s|hwg_endwindow()}", ; Iif( Type( "ReleaseAllWindows()" ) == "UI","{||ReleaseAllWindows()}", "{||__Quit()}" ) ) ) Eval( bCode ) Return Nil Отлаживаются ведь и консольные приложения.

Andrey: alkresin пишет: Еще было бы хорошо дополнить эти 2 функции из dbgconnect.prg ( hwgdebug.lib ) кодом для Minigui: Куда ставить эти функции ? В свой проект ?

gfilatov2002: АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Завершена подготовка к опубликованию новой версии 2.2.3, которая выйдет послезавтра. Кратко, что нового: - исправлены обнаруженные ошибки и неточности кода; - добавлена давно обещанная поддержка PNG and TIF картинок в элементе управления Image и для использования на кнопках элемента управления ToolBar - добавлены новые команды для синхронизизации с официальным релизом HMG 3.1.3: DISABLE [ CONTROL ] EVENT ControlName OF FormName ENABLE [ CONTROL ] EVENT ControlName OF FormName StopControlEventProcedure ( cControlName, cFormName, lStop ) DISABLE [ WINDOW ] EVENT OF FormName ENABLE [ WINDOW ] EVENT OF FormName StopWindowEventProcedure ( cFormName, lStop ) GetLastActiveFormIndex () --> Return nFormIndex GetLastActiveControlIndex () --> Return nControlIndex - обновлена библиотека WinReport (это beta-версия); - обновлена библиотека SQLite3Facade (это надстройка для облегчения доступа к базам SQLite); - обновлена библиотека HbSQLite3 до версии 3.7.17; - обновлена unicode-сборка Харбора версии 3.2.0dev, мелкие исправления в библиотеке TsBrowse; - пересобрана HMGS-IDE с текущей версией библиотеки; - добавлены новые/обновлены старые примеры, в т.ч. библиотека Bos Taurus v.1.04. Благодарю за внимание!

Andrey: gfilatov2002 пишет: - добавлена давно обещанная поддержка PNG and TIF картинок в элементе управления Image Пример в студию !

gfilatov2002: Пример от автора изменений уругвайца Клаудио Сото: [pre2]/* * HMG - Harbour Win32 GUI library Demo * * Copyright 2013 Dr. Claudio Soto <srvet@adinet.com.uy> */ #include "hmg.ch" MEMVAR nWidth MEMVAR nHeight MEMVAR lStretch MEMVAR lTransparent MEMVAR lColor MEMVAR aBackgroundColor MEMVAR lAdjustImage MEMVAR aPicture MEMVAR i Function Main PRIVATE nWidth := 200 PRIVATE nHeight := 100 PRIVATE lStretch := .F. PRIVATE lTransparent := .F. PRIVATE lColor := .F. PRIVATE aBackgroundColor := NIL PRIVATE lAdjustImage := .F. PRIVATE aPicture := {"img.gif", "img.jpg", "img.wmf", "img.bmp", "img.png", "img.tif"} PRIVATE i := 1 DEFINE WINDOW Win_1 ; AT 0,0 ; WIDTH 800 HEIGHT 600 ; TITLE 'Load Image From DISK' ; MAIN DEFINE MAINMENU DEFINE POPUP "File" MENUITEM "Exit" ONCLICK ThisWindow.Release END POPUP DEFINE POPUP "Options" MENUITEM "Stretch" ONCLICK {lStretch := ! lStretch, Define_Image()} NAME Menu_Stretch MENUITEM "Transparent" ONCLICK {lTransparent := ! lTransparent, Define_Image()} NAME Menu_Transparent MENUITEM "BackgroundColor RED" ONCLICK {lColor := ! lColor, Define_Image()} NAME Menu_Color MENUITEM "AdjustImage" ONCLICK {lAdjustImage := ! lAdjustImage, Define_Image()} NAME Menu_AdjustImage SEPARATOR MENUITEM "Width=200 and Height=100" ONCLICK {|| nWidth:=200, nHeight:=100, Define_Image(1)} NAME Menu_Size1 MENUITEM "Width=NIL and Height=NIL" ONCLICK {|| nWidth:=NIL, nHeight:=NIL, Define_Image(2)} NAME Menu_Size2 MENUITEM "Width=200 and Height=0" ONCLICK {|| nWidth:=200, nHeight:=0, Define_Image(3)} NAME Menu_Size3 MENUITEM "Width=0 and Height=100" ONCLICK {|| nWidth:=0, nHeight:=100, Define_Image(4)} NAME Menu_Size4 END POPUP END MENU @ 10 ,10 BUTTON Button_1 CAPTION "Set GIF" ACTION {|| Win_1.Image_1.Picture := "img.gif", ImgSize(1)} WIDTH 100 HEIGHT 30 @ 10 ,110 BUTTON Button_2 CAPTION "Set JPG" ACTION {|| Win_1.Image_1.Picture := "img.jpg", ImgSize(2)} WIDTH 100 HEIGHT 30 @ 10 ,210 BUTTON Button_4 CAPTION "Set WMF" ACTION {|| Win_1.Image_1.Picture := "img.wmf", ImgSize(3)} WIDTH 100 HEIGHT 30 @ 10 ,310 BUTTON Button_6 CAPTION "Set BMP" ACTION {|| Win_1.Image_1.Picture := "img.bmp", ImgSize(4)} WIDTH 100 HEIGHT 30 @ 10 ,410 BUTTON Button_7 CAPTION "Set PNG" ACTION {|| Win_1.Image_1.Picture := "img.png", ImgSize(5)} WIDTH 100 HEIGHT 30 @ 10 ,510 BUTTON Button_8 CAPTION "Set TIF" ACTION {|| Win_1.Image_1.Picture := "img.tif", ImgSize(6)} WIDTH 100 HEIGHT 30 @ 150, 140 LABEL Label_1 Value "" AUTOSIZE Define_Image (1) END WINDOW Win_1.Center ACTIVATE WINDOW Win_1 Return Nil Procedure ImgSize (Index) Local n i := Index Win_1.Label_1.Value := "Width: "+hb_ntos(Win_1.Image_1.WIDTH)+" Height: "+hb_ntos(Win_1.Image_1.HEIGHT) IF IsControlDefined (Frame_1, Win_1) == .T. Win_1.Frame_1.Release ENDIF n:= 2 @ (Win_1.Image_1.ROW -n), (Win_1.Image_1.COL -n) FRAME Frame_1 OF Win_1; WIDTH (Win_1.Image_1.WIDTH +n+n); HEIGHT (Win_1.Image_1.HEIGHT +n+n); TRANSPARENT Return Procedure Define_Image (nSize) Win_1.Menu_Stretch.Checked := lStretch Win_1.Menu_Transparent.Checked := lTransparent Win_1.Menu_Color.Checked := lColor Win_1.Menu_AdjustImage.Checked := lAdjustImage aBackgroundColor := IF (lColor, RED, NIL) IF VALTYPE (nSize) == "N" Win_1.Menu_Size1.Checked := .F. Win_1.Menu_Size2.Checked := .F. Win_1.Menu_Size3.Checked := .F. Win_1.Menu_Size4.Checked := .F. SetProperty ( "Win_1", "Menu_Size"+LTRIM(STR(nSize)), "Checked", .T. ) ENDIF IF IsControlDefined (Image_1, Win_1) == .T. Win_1.Image_1.Release ENDIF DEFINE IMAGE Image_1 PARENT Win_1 ROW 200 COL 140 WIDTH nWidth HEIGHT nHeight PICTURE aPicture [ i ] STRETCH lStretch TRANSPARENT lTransparent BACKGROUNDCOLOR aBackgroundColor ADJUSTIMAGE lAdjustImage END IMAGE IF IsControlDefined (Label_1, Win_1) == .T. ImgSize (i) ENDIF Return[/pre2]

Haz: Суть в следующем - Если в TBrowse объявить SELECTOR, то происходит игнорирование флага ::lLockFreeze: в стороке 8459 h_tbrose.prg 8447: If ::lSelector ... 8459: ::lLockFreeze := .T. // Переменная лочит замороженные колонки ВНЕ зависимости от того что пропишет разработчик Возможное решение : 1) закомментировать эту ( 8459: ) строку - //::lLockFreeze := .T. 2) в метод METHOD TSBrowse:GoLeft() добавить проверку на SELECTOR 5409: вместо While nCell > ( If( lLock, ::nFreeze + 1, 1 ) ) пишем While nCell > ( If( lLock, ::nFreeze + 1, if ( ::lSelector, 2, 1) ) ) 5449: вместо If ::nCell == 1 пишем If ::nCell == if ( ::lSelector, 2, 1)

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

Andrey: Спасибо Григорий ! Возник вопросик по PNG картинкам:

Dima: Andrey Фон нужно сделать у твоей картинки прозрачным

Andrey: Dima пишет: Фон нужно сделать у твоей картинки прозрачным А как ?



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