Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
Alex_Cher: gfilatov2002 пишет: Нет, речь шла о новой майской сборке снова извиняюсь .., а откуда качать, там на http://hmgextended.com/files/CONTRIB/hmg-22.05-setup.exe нет ничего ...?
gfilatov2002: Alex_Cher пишет: а откуда качать Финальная сборка майского релиза еще не готова. Речь шла о предварительных версиях, которые доступны только для разработчиков из команды Minigui
SergKis: gfilatov2002 Я правильно понимаю, что COMBOBOXEX в unicode версии с utf8 строками не работает ? Пример требует перекодировки из utf8 => RU1251 (версия hmg unicode prg с bom utf8)[pre2] LOCAL aLangsR := { "Русский", "Английский", "Украинский", "Белорусский" , "Казахский" } ... FOR nI := 1 TO LenU( aLangsR ) AAdd( aLangs, hb_utf8ToStr(aLangsR[ nI ] + " (" + aLangsE[ nI ] + ")", "RU1251") ) NEXT @ 10, nFWidth - 300 COMBOBOXEX ComboEx_1 ; WIDTH 340 HEIGHT 200 ; ITEMS aLangs ; VALUE M->nPubLang ; IMAGE aFlags ; TOOLTIP 'Выбор языка / Select lang' INVISIBLE ; ON LISTCLOSE Forma_1.ComboEx_1.Hide ; ON CHANGE { || M->nPubLang := Forma_1.ComboEx_1.Value, ; Forma_1.ComboEx_1.Hide, Forma_1.Image_1.Hide ,; Forma_1.Image_1.Picture := aFlags[M->nPubLang],; Forma_1.Image_1.Col := GetClientWidth( GetFormHandle("Forma_1") ) - 30, ; MyTitleFormLang(), MyTitleSHLang() ,; Forma_1.Image_1.Show, Forma_1.Image_1.Setfocus } .. [/pre2] С выделенным цветом тексты в списке COMBOBOX ok, без ф-ии - кракозяблики
gfilatov2002: SergKis пишет: COMBOBOXEX в unicode версии с utf8 строками не работает Да, все верно. На входе COMBOBOXEX принимает строки в формате ANSI. Это сделано с учетом того, что эти строки могут быть получены из базы данных, которая м.б. для совместимости в формате ANSI. Перекодировка этих строк в уникод происходит уже внутри COMBOBOXEX
SergKis: gfilatov2002 пишет Это сделано с учетом того, что эти строки могут быть получены из базы данных, которая м.б. для совместимости в формате ANSI. Не понял ? Для базы мы указываем CODEPAGE конкретную и на уровне hb получаем перекодировку, т.е. SET CODEPAGE TO UNICODE ... USE ( cPath + cFileDbf ) Alias TABLE1 CODEPAGE "RU1251" VIA "DBFCDX" NEW //SHARED и работаем без всяких дополнений с utf8 данными из полей строковых aLangsR := { "Русский", "Английский", "Украинский", "Белорусский" , "Казахский" } cStr := SPACE(20)+"Папки сравнения и проект для сравнения:" + CRLF в таких вариантах тоже имеем utf8 Не логично поддерживать ANSI, по мне, для COMBOBOX... и др. контролов. Исп. язык не зависит от программы, зависит от пользователя в unicode. Получается что для COMBOBOXEX надо иметь еще таблицу имеющихся codepage к каждому элементу массива aLangsR := { "Русский", "Английский", "Украинский", "Белорусский" , "Казахский" } в чем смысл, не пойму . Тем более, что Перекодировка этих строк в уникод происходит уже внутри COMBOBOXEX
gfilatov2002: Выложил последнюю сборку 22.05 click here
SergKis: gfilatov2002 В версии unicode ButtonEx Tooltip не отображает строку в utf8, надписи на кнопке Ok https://postimg.cc/PCtnbHPQ
gfilatov2002: SergKis пишет: В версии unicode ButtonEx Tooltip не отображает строку в utf8 Проверил на системе без установки кодовой страницы - Tooltip отображает строку в utf8 правильно. Добавил в начало программы установку [pre2]set codepage to russian [/pre2]и получил кракозябры в тултипе, как и следовало ожидать. Вывод: проверьте наличие этой установки у себя в коде Также возможно следует добавить перед вызовом формы команду [pre2]set codepage to unicode[/pre2]
SergKis: gfilatov2002 пишет и получил кракозябры в тултипе, как и следовало ожидать В начале программе стоит (больше нет установок codepage) SET CODEPAGE TO UNICODE RDDSETDEFAULT('DBFCDX') SET OOP ON В ф-ии кнопка формируется [pre2] ... ? procname(), cObject, cTooltip, hb_utf8ToStr(cTooltip, 'RU1251') DEFINE BUTTONEX &cObject PARENT &cForm ROW nRow COL nCol WIDTH nWidth HEIGHT nHeight ICON cResIco CAPTION cCaption ACTION Eval( bAction ) TOOLTIP cTooltip VERTICAL lTextVertical LEFTTEXT lTextLeft FLAT .F. FONTNAME cFont FONTSIZE nFontSize FONTBOLD lFontBold FONTCOLOR aFontColor BACKCOLOR aBACKCOLOR UPPERTEXT .F. NOHOTLIGHT .F. NOXPSTYLE .T. HANDCURSOR .T. ONMOUSEHOVER ( SetProperty(ThisWindow.Name, this.name, "ICON", cResIco2), SetProperty(ThisWindow.Name, cObject, "fontcolor", aFontColorInvert ) ) ONMOUSELEAVE ( SetProperty(ThisWindow.Name, this.name, "ICON", cResIco) , SetProperty(ThisWindow.Name, cObject, "fontcolor", aFontColor) ) NOTABSTOP .F. INVISIBLE lHide END BUTTONEX [/pre2] выделенная цветом строка дает правильное значение cTooltip - кодировка utf8 hb_utf8ToStr(cTooltip, 'RU1251') - кодировка 1251 cTooltip задается в коде программы на кнопки (prg все в utf8) aObj3But[2,13] := 'Копировать файлы из папки 1 в папку 2' // подсказка aObj3But[3,13] := 'Копировать файлы из папки 2 в папку 1' // подсказка PS cTooltip := hb_utf8ToStr(cTooltip, 'RU1251') и DEFINE BUTTONEX &cObject ... выводит Tooltip правильно (версия hmg 22.03.0 unicode)
gfilatov2002: Выложил 2-й апдейт сборки 22.05 с учетом всех последних исправлений click here Желаю всем удачи...
gfilatov2002: Выложил последнюю сборку 22.06 click here Желаю всем МИРА и добра
gfilatov2002: Выложил 1-е обновление сборки 22.06 с учетом последних исправлений и дополнений См. ссылку для выкачки в посте выше
gfilatov2002: Выложил 2-е обновление сборки 22.06 с учетом последних исправлений и дополнений click here
gfilatov2002: Завершена подготовка новой сборки 22.07, которая будет опубликована завтра. Что нового: - глобальный пересмотр Си-кода с использованием макросов вида hmg_par_* / hmg_ret_* и макросов унификации Си-типов. Желаю всем доброго здоровья и успеха в делах
gfilatov2002: Как и обещал, выложил финальную сборку 22.07 click here
Andrey: Поставил новую версию. Заметил фигню у себя в прогах и в примере \MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu\demo.exe Мышкой когда проводишь по кнопкам БЫСТРО - все кнопки затеняются и только потом затенение проходит. Как то очень некрасиво происходит. Убрать этот эффект можно ?