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

Andrey_IV: Всем доброго времени суток! В BCC 5.5 (да и в BCC 5.6), если в файле ресурсов .RC писал русскими буквами в кодировке Win-1251 - то на экране все отображалось корректно Когда попробовал в компилировать программу в BCC 5.82 - получил крякозябры. Попробовал забить вместо латинских, русскими в примере: C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc - та-же история. Крякозябры вместо русских букв. Это только в файле ресурсов. Если просто в .PRG пишу русскими - все нормально. Это вообще можно победить ? Не может-же быть такого, что компилятор не дружит с кодировкой Win-1251 ТОЛЬКО в ресурсах. Или может ???

Dima: Andrey_IV пишет: Это вообще можно победить ? Можно Andrey_IV пишет: C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc - та-же история Нет там ни какой истории , demo.rc в кодировке 866 , переведи в 1251 и будет как надо

gfilatov2002: Andrey_IV пишет: Попробовал забить вместо латинских, русскими в примере: C:\MiniGUI\SAMPLES\BASIC\TEST_APPLICATION\demo.rc Сделал такую проверку также #include "resource.h" // Application icon. IDI_APPICON ICON "Application.ico" // Our main menu. IDR_MAINMENU MENU { POPUP "&Файл" { MENUITEM "В&ыход", ID_FILE_EXIT } POPUP "&Помощь" { MENUITEM "&О программе", ID_HELP_ABOUT } } и этот пример нормально показывает меню по-русски


Andrey: SergKis пишет: Рабочая версия на vc есть. Версия с bcc 55 использовалась как пример исследования новшеств. Давайте тогда перейдём полностью на MSVC ?

Andrey_IV: Не точно выразился 1) Кодировка RC-файла конечно-же Win-1251 2) Речь идёт не об этом блоке RC-файла, который привёл в приме Григорий { POPUP "&Файл" { MENUITEM "&Выход", ID_FILE_EXIT } POPUP "&Помощь" { MENUITEM "&О программе", ID_HELP_ABOUT } } а вот об этом (то, что в проводнике "Свойства файла", закладка "Подробно" - в общем информация "О программе" (проверял в Windows 7). Возьмем файл: C:\MiniGUI\SAMPLES\Applications\SysInfo\SysInfo.rc Меняю кодировку на Win-1251, пишу на русском (извините - просто пример) 1 VERSIONINFO FILEVERSION 1,1,0,0 PRODUCTVERSION 1,0,0,0 FILEOS 0x4 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "040904b0" { VALUE "FileDescription", "Системная информация\000" VALUE "FileVersion", "1.1.0.0" VALUE "InternalName", "SysInfo\000" VALUE "LegalCopyright", "Freeware 2003-2012\000" VALUE "LegalTrademarks", "Harbour" VALUE "OriginalFilename", "SysInfo.exe" VALUE "CompanyName", "" VALUE "ProductName", "Утилита MiniGUI" VALUE "ProductVersion", "1.0.0.0" VALUE "Comments", "Создано Григорием Филатовым <gfilatov@inbox.ru>\000" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0409 0x04B0 } } Компилирую, в проводнике в свойствах файла в описании файла и в названии продукта вижу крякозябры Пробовал менять Английский на Русский // BLOCK "040904b0" BLOCK "041904e3" и // VALUE "Translation", 0x0409 0x04B0 VALUE "Translation", 0x0419 0x04E3 Ничего не даёт

Dima: Там вроде нужно прикручивать windows manifest и кодировка в rc должна быть utf-8

gfilatov2002: Обновил сборку 19.10 (Update 1) с учетом последних наработок Базовый дистрибутив находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.10-setup.exe Что нового: * Fixed: Problem with a handling of 'Transparent' property of a label which was placed on top of an image (introduced in the build 19.10). Bug was reported by Valtecom Jose Martins. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Modified: ButtonEx: using of the Harbour function hb_tokenCount() instead of a local implementation. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo3.prg in folder \samples\Basic\ButtonEx) * Enhanced: Added the Metro color's constants to the header file include\i_color.ch. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: HBPrinter library v.2.48: - modified toolbar buttons placing in the Preview form and a look of Options dialog; - updated Greek language translation. Based upon a contribution of Pete D. <pete_westg/at/yahoo.gr>. Revised by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\HBPrinter) * Updated: Harbour Compiler 3.2.0dev (SVN 2019-09-11 10:16): * Updated: OpenSSL wrapper for using of the version 1.0.2t. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'Circle Progress Animation' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\CircleProgressAnimation)

gfilatov2002: Обновил сборку 19.10 (Update 2) с учетом последних наработок Базовый дистрибутив для BCC 5.8.2 находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.10-setup.exe Что нового: [pre2] * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.31.0dev (from 3.30.1). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2019-09-11 10:16): * the hbrdd and hbrtl core libraries were compiled with the default switch -l for a smallest size. Note: the minimal supported platform is Windows XP now. The recommended platforms are Windows 7 and later. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.4.3.7 Project Manager and Two-Way Visual Form Designer: * Changed: the default C-compiler is BCC 5.8 now instead of BCC 5.5. * Updated: in mpmc.prg use Harbour contrib hbziparc library instead of obsolete ziparchive library. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \Ide\Samples\Zip) * Updated: MPM and MPMC utilities will use Harbour contrib hbziparc library. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folders \Utils\MPM and \Utils\MPMC) [/pre2]

rvu: gfilatov2002 пишет: Может я чего то не понял, но точно такая же ограниченная гарантия есть у BCC 5.5 А как связаны ограниченная гарантия и авторские права? Меня тоже авторские права интересуют. Хочется чистоты. И какую версия они сами сейчас раздают? https://www.embarcadero.com/free-tools/ccompiler/free-download

gfilatov2002: rvu пишет: какую версия они сами сейчас раздают? Они раздают бесплатно 32-битный компилятор BCC 10.1, который основан на LLVM/Clang C 3.3.1 и датирован 2016 годом. Проблема в том, что собрать Харбор для этого компилятора стандартным образом не получится. После многих попыток мне, правда, удалось это сделать. Результат см. ниже Harbour 3.2.0dev (r1902111251) Copyright (c) 1999-2019, https://harbour.github.io/ Harbour Build Info --------------------------- Version: Harbour 3.2.0dev (r1902111251) Compiler: LLVM/Clang C 3.3.1 (35832.6139226.5cda94d) (32-bit) Platform: Windows 7 6.1 SP1 PCode version: 0.3 ChangeLog last entry: 2019-02-11 13:51 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) ChangeLog ID: 1d06956f746c166a6c53f00036a261952796fca6 Built on: Feb 12 2019 21:44:56 Extra C compiler options: -DHB_GC_AUTO -DHB_GUI Build options: (Clipper 5.3b) (Clipper 5.x undoc) ---------------------------

Andrey: Всем привет. Пример MiniGUI\SAMPLES\BASIC\Button_Hotkey Туда бы добавить для наглядности небольшое добавление: [pre2] @ 100, nX BUTTONEX button_1 ; CAPTION " 1 " ; ACTION _wPost( 10, This.button_1.Index ) ; WIDTH nW ; HEIGHT 28 ; TOOLTIP "HotKey 1 or F1" ; HOTKEY { 1, F1 } [/pre2] Если массив нельзя, то тогда бы сделать перечисление клавиш: [pre2] ON KEY F1 ACTION _wPost( 10 , .... здесь не знаю как .... ) ON KEY F2 ACTION _wPost( 10 , .... здесь не знаю как .... ) ......[/pre2] Юзера просят горячие клавиши сразу по F1/F2 ... ну или просто по 1/2 .... Я понимаю что горячая клавиша ОДНА, но блин нашему юзеру всё мало.... Просто в старых программах сделал так, теперь просят такого же в МиниГуи.

SergKis: Andrey пишет ON KEY F1 ACTION _wPost( 10 , .... здесь не знаю как .... ) ON KEY F2 ACTION _wPost( 10 , .... здесь не знаю как .... ) ...... так же[pre2] ON KEY F1 ACTION _wPost( 10 , This.button_1.Index ) ON KEY F2 ACTION _wPost( 10 , This.button_1.Index ) ...... [/pre2] создается в событии 10 среда This для button1, как и для ACTION кнопки, по указанному индексу

SergKis: PS т.е. если делать _wPost(10), то в событии 10 This.Name - имя окна, ThisWindow.Name - тоже, если делать _wPost( 10 , This.button_1.Index ), то в событии 10 This.Name - имя кнопки, ThisWindow.Name - имя окна

Andrey: SergKis пишет: ON KEY F1 ACTION _wPost( 10 , This.button_1.Index ) ON KEY F2 ACTION _wPost( 10 , This.button_1.Index ) ...... Чуток ошибся:[pre2] ON KEY F1 ACTION _wPost( 10 , This.button_1.Index ) ON KEY F2 ACTION _wPost( 10 , This.button_2.Index ) ON KEY F3 ACTION _wPost( 10 , This.button_3.Index ) [/pre2] А если будут две формы и будут такие же кнопки, то горячие клавиши будут различаться ? This.button_1.Index - это для каждого окна своя кнопка ?

SergKis: Andrey пишет Чуток ошибся: Именно так и хотел написать, о назначении ОДНОГО события для button_1 разным клавишам, т.е. одной кнопке назначаем нажатия "1", "F1", "CTRL+F1", "SHIFT+F1", "CTRL+1", ... и при всех нажатиях будет исполнен блок кода события 10 со средой This, для кнопки "button_1" То что ты добавил\исправил на F2 - это может быть доп. множество клавиш для др. кнопки "button_2" А если будут две формы и будут такие же кнопки, то горячие клавиши будут различаться ? This.button_1.Index - это для каждого окна своя кнопка ? На каждой форме-окне контролы могут называться одинаково, они, как и события "привязаны" к своему окну. Т.е. если создаешь окно по переменной cForm := <имя> и DEFINE WINDOW &cForm ... то сменив имя окна-формы => получишь новое окно, на котором имена контролов будут одинаковы с первым и события совпадут. Если в них исп. public (не static) функции они будут вызываться одни и те же при наступлении события, но внутри будут иметь разную среду This для окна, This.Name контрола совпадать, ThisWindow.Name разное

gfilatov2002: Подготовил 1-й релиз-кандидат для новой сборки 19.12 со следующим списком изменений (кратко): [pre2] * Fixed: The 'OnChange' event fired by a mouse click in a Browse control without changing of the row. It exists in the official version too. * Fixed: A potential RTE at using of a TRANSPARENT checkbox control into SplitChild window. * Revised GdiPlus.dll system library handling: - added the new function HMG_SaveImage( FileName, cOutName [, cEncoder] [, nJpgQuality] ; [, aOutSize] ), where cEncoder parameter may be "BMP", "JPEG", "PNG", "GIF" or "TIFF" value ("BMP" is a default). * The Image control supports now ICON images from the resources via using of a dynamic loading of the system library GdiPlus.dll. * The CHECKBOX, FRAME and RADIOGROUP controls supports the FontColor and BackColor properties in the THEMED Operating Systems. It was a postponed user's request. * The PROGRESSBAR control supports the ForeColor and BackColor properties at a definition in the THEMED Operating Systems. * The function InputWindow() supports now an optional 11th logical parameter to use a Switcher control for a managing of the logical variables (default value is false). * The internal function ErrorMessage() will return an information about the mistaked arguments of calling function from error object. * The minor modification of a data value position in the BAR GRAPH. * Updated header file i_hmgcompat.ch for compatibility with Official HMG. * Updated HMGS-IDE v.1.4.3.8 and Sqlite3 library. * Added the new interesting samples and updated some Basic and Advanced samples. [/pre2]Благодарю за внимание

SergKis: gfilatov2002 Предлагаю добавить [pre2] HB_FUNC ( ENUMWINDOWS ) { PHB_ITEM pArray = hb_itemArrayNew( 0 ); EnumWindows( ( WNDENUMPROC ) EnumWindowsProc, ( LPARAM ) pArray ); hb_itemReturnRelease( pArray ); pArray = NULL; } тогда можно получать handle внешних программ так (эту ф-ю можно не вкл. lib) *-----------------------------------------------------------------------------* STATIC FUNCTION HandlesHbWin( cText, cClass, lUpper ) *-----------------------------------------------------------------------------* LOCAL i, h, t LOCAL aWnd := EnumWindows() LOCAL aTmp := aWnd LOCAL aRet := {} IF ! empty(cClass) AEVal( aWnd, {|hw| iif( GetClassName(hw) == cClass, AAdd( aTmp, hw ), )} ) ENDIF IF ! empty(cText) .and. HB_ISCHAR(cText) .and. Len(aTmp) > 0 lUpper := ! empty( lUpper ) IF lUpper cText := upper( cText ) ENDIF FOR EACH h IN aTmp t := GetWindowText( h ) IF lUpper ; t := upper( t ) ENDIF IF cText $ t ; AAdd( aRet, h ) ENDIF NEXT ELSE aRet := aTmp ENDIF RETURN aRet т.е. aHandle := HandlesHbWin( , 'Form1_Main' ) // окна hmg с именем Form1_Main, по доп. cText выделить нужное aWvt := HandlesHbWin( cText, 'Harbour_WVT_Class' ) // handles wvt окон aDos := HandlesHbWin( 'DOSBox ', 'SDL_app' ) // handles загруженных DosBox программ и .т.д. [/pre2]

gfilatov2002: SergKis пишет: Предлагаю добавить HB_FUNC ( ENUMWINDOWS ) Благодарю за предложение. Но вроде уже живет эта функция в примерах: - SAMPLES\Advanced\ProcInfo; - SAMPLES\Advanced\ExternalApp_2 Кстати, там еще д.б. сишная дополнительная функция EnumWindowsProc, которая заполняет массив pArray

SergKis: gfilatov2002 пишет Но вроде уже живет эта функция в примерах Не увидел, пропустил. Хорошо, что есть в примерах, мне не хватило в lib. Пришлось позаниматься управлением внешних программ из hmg. Предложил по причине, что она более удобна, во многих случаях, чем та которая есть в hmg FindWindow

gfilatov2002: SergKis пишет: Предложил по причине, что она более удобна Буду рассматривать эту функцию для следующей сборки. Поскольку подготовка декабрьского релиза уже завершена, и эта сборка будет опубликована завтра.



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