Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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
[только новые]
|
|
Alex_Cher
|
| |
Пост N: 86
Зарегистрирован: 18.06.15
|
|
Отправлено: 10.05.22 06:53. Заголовок: gfilatov2002 пишет: ..
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2040
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.05.22 08:37. Заголовок: Alex_Cher пишет: а ..
Alex_Cher пишет: Финальная сборка майского релиза еще не готова. Речь шла о предварительных версиях, которые доступны только для разработчиков из команды Minigui
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4125
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.05.22 18:41. Заголовок: gfilatov2002 правка..
gfilatov2002 правка, проскакивает cHeading == NIL (h_tbrowse.prg) STATIC FUNCTION SetHeights( oBrw ) ... // Now for cells nHHeight := oBrw:nHeightCell FOR nEle := 1 TO Len( oBrw:aColumns ) ... IF ValType( cHeading ) == "C" .AND. At( Chr( 13 ), cHeading ) > 0 .OR. ; ValType( cHeading ) == "M" .OR. oColumn:cDataType != NIL .AND. oColumn:cDataType == "M" DEFAULT cHeading := "" IF Empty( oBrw:nMemoHV ) IF At( Chr( 13 ), cHeading ) > 0 oBrw:nMemoHV := Len( hb_ATokens( cHeading, Chr( 13 ) ) ) ENDIF ENDIF DEFAULT oBrw:nMemoHV := 2 ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2041
Зарегистрирован: 11.02.10
|
|
Отправлено: 15.05.22 19:14. Заголовок: SergKis пишет: прав..
SergKis пишет: OK
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4126
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.05.22 13:48. Заголовок: gfilatov2002 Я прав..
gfilatov2002 Я правильно понимаю, что COMBOBOXEX в unicode версии с utf8 строками не работает ? Пример требует перекодировки из utf8 => RU1251 (версия hmg unicode prg с bom utf8) 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 } .. С выделенным цветом тексты в списке COMBOBOX ok, без ф-ии - кракозяблики
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2042
Зарегистрирован: 11.02.10
|
|
Отправлено: 18.05.22 14:22. Заголовок: SergKis пишет: COMB..
SergKis пишет: цитата: | COMBOBOXEX в unicode версии с utf8 строками не работает |
| Да, все верно. На входе COMBOBOXEX принимает строки в формате ANSI. Это сделано с учетом того, что эти строки могут быть получены из базы данных, которая м.б. для совместимости в формате ANSI. Перекодировка этих строк в уникод происходит уже внутри COMBOBOXEX
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4127
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.05.22 14:39. Заголовок: gfilatov2002 пишет Э..
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
|
| moderator
|
Пост N: 2043
Зарегистрирован: 11.02.10
|
|
Отправлено: 19.05.22 08:54. Заголовок: Всем кому это интересно...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4128
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.05.22 13:19. Заголовок: gfilatov2002 В верс..
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2044
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.05.22 13:50. Заголовок: SergKis пишет: В ве..
SergKis пишет: цитата: | В версии unicode ButtonEx Tooltip не отображает строку в utf8 |
| Проверил на системе без установки кодовой страницы - Tooltip отображает строку в utf8 правильно. Добавил в начало программы установку set codepage to russian и получил кракозябры в тултипе, как и следовало ожидать. Вывод: проверьте наличие этой установки у себя в коде Также возможно следует добавить перед вызовом формы команду set codepage to unicode
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4129
Зарегистрирован: 17.02.12
|
|
Отправлено: 23.05.22 14:50. Заголовок: gfilatov2002 пишет и..
gfilatov2002 пишет цитата: | и получил кракозябры в тултипе, как и следовало ожидать |
| В начале программе стоит (больше нет установок codepage) SET CODEPAGE TO UNICODE RDDSETDEFAULT('DBFCDX') SET OOP ON В ф-ии кнопка формируется ... ? 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 выделенная цветом строка дает правильное значение 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
|
| moderator
|
Пост N: 2046
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.05.22 08:20. Заголовок: Выложил 2-й апдейт с..
Выложил 2-й апдейт сборки 22.05 с учетом всех последних исправлений click here Желаю всем удачи...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2047
Зарегистрирован: 11.02.10
|
|
Отправлено: 30.06.22 10:21. Заголовок: Выложил последнюю сб..
Выложил последнюю сборку 22.06 click here Желаю всем МИРА и добра
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2048
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.07.22 10:29. Заголовок: Выложил 1-е обновлен..
Выложил 1-е обновление сборки 22.06 с учетом последних исправлений и дополнений См. ссылку для выкачки в посте выше
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2049
Зарегистрирован: 11.02.10
|
|
Отправлено: 14.07.22 10:44. Заголовок: Всем кому это интересно
Выложил 2-е обновление сборки 22.06 с учетом последних исправлений и дополнений click here
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2051
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.22 12:58. Заголовок: Завершена подготовка..
Завершена подготовка новой сборки 22.07, которая будет опубликована завтра. Что нового: - глобальный пересмотр Си-кода с использованием макросов вида hmg_par_* / hmg_ret_* и макросов унификации Си-типов. Желаю всем доброго здоровья и успеха в делах
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2052
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.07.22 14:18. Заголовок: Всем кому это интересно
Как и обещал, выложил финальную сборку 22.07 click here
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7258
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.07.22 07:50. Заголовок: Поставил новую верси..
Поставил новую версию. Заметил фигню у себя в прогах и в примере \MiniGUI\SAMPLES\BASIC\ButtonEx_DynamicMenu\demo.exe Мышкой когда проводишь по кнопкам БЫСТРО - все кнопки затеняются и только потом затенение проходит. Как то очень некрасиво происходит. Убрать этот эффект можно ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4144
Зарегистрирован: 17.02.12
|
|
Отправлено: 31.07.22 17:23. Заголовок: gfilatov2002 Неболь..
gfilatov2002 Небольшие правки Скрытый текст
TControl.prg ... METHOD lValid() INLINE If( ::bValid != nil, !Empty(Eval( ::bValid, Self )), .t. ) METHOD lWhen() INLINE If( ::bWhen != nil, !Empty(Eval( ::bWhen, Self )), .t. ) ... METHOD GotFocus( hCtlLost ) HB_SYMBOL_UNUSED( hCtlLost ) ::lFocused := .T. ::SetMsg( ::cMsg ) if ::bGotFocus != nil return Eval( ::bGotFocus, Self ) endif return nil METHOD KeyChar( nKey, nFlags ) CLASS TControl ... if ::bKeyChar != nil return Eval( ::bKeyChar, nKey, nFlags, Self ) endif return 0 METHOD KeyDown( nKey, nFlags ) CLASS TControl ... if ::bKeyDown != nil return Eval( ::bKeyDown, nKey, nFlags, Self ) endif return 0 METHOD LButtonDown( nRow, nCol, nKeyFlags ) CLASS TControl ::lMouseDown := .T. ::nLastRow := nRow ::nLastCol := nCol if ::bLClicked != nil return Eval( ::bLClicked, nRow, nCol, nKeyFlags, Self ) endif return nil METHOD LButtonUp( nRow, nCol, nKeyFlags ) CLASS TControl if ::bLButtonUp != nil return Eval( ::bLButtonUp, nRow, nCol, nKeyFlags, Self ) endif return nil METHOD LostFocus( hWndGetFocus ) CLASS TControl ::lFocused := .F. ::SetMsg() if ! Empty( ::bLostFocus ) return Eval( ::bLostFocus, hWndGetFocus, Self ) endif RETURN nil METHOD MouseMove( nRow, nCol, nKeyFlags ) CLASS TControl ... if ::bMMoved != nil return Eval( ::bMMoved, nRow, nCol, nKeyFlags, Self ) endif return 0 METHOD RButtonUp( nRow, nCol, nKeyFlags ) CLASS TControl if ::bRButtonUp != nil Eval( ::bRButtonUp, nRow, nCol, nKeyFlags, Self ) endif return nil METHOD ReSize( nSizeType, nWidth, nHeight ) CLASS TControl ::CoorsUpdate() if ::bResized != nil Eval( ::bResized, nSizeType, nWidth, nHeight, Self ) endif return nil Для использования :bLButtonUp := {|row,col,flag,ob| ? ":bLButtonUp",row,col,flag,ob IF hb_IsObject(ob) ?? ob:ClassName, ob:nCell ENDIF Return Nil } :bWhen := {|ob| ? ":bWhen",ob IF hb_IsObject(ob) ?? ob:ClassName, ob:nCell ENDIF Return .T. } :bGotFocus := {|ob| ? ":bGotFocus",ob IF hb_IsObject(ob) ?? ob:ClassName, ob:nCell ENDIF Return .T. } ... Результат :bGotFocus 'O' TSBROWSE 1 :bWhen 'O' TSBROWSE 1 :bLClicked 8 92 1 'O' TSBROWSE 2 :bLButtonUp 8 92 0 'O' TSBROWSE 2 :bLClicked 7 152 1 'O' TSBROWSE 3 :bLButtonUp 7 152 0 'O' TSBROWSE 3 :bLClicked 9 246 1 'O' TSBROWSE 4 :bLButtonUp 9 246 0 'O' TSBROWSE 4 :bLClicked 12 22 1 'O' TSBROWSE 1 :bLButtonUp 12 22 0 'O' TSBROWSE 1 :bGotFocus 'O' TSBROWSE 1 :bLClicked 7 104 1 'O' TSBROWSE 2 :bLButtonUp 7 104 0 'O' TSBROWSE 2 :bLClicked 11 162 1 'O' TSBROWSE 3 :bLButtonUp 11 162 0 'O' TSBROWSE 3 :bLClicked 6 237 1 'O' TSBROWSE 4 :bLButtonUp 6 237 0 'O' TSBROWSE 4 :bLClicked 10 28 1 'O' TSBROWSE 1 :bLButtonUp 10 28 0 'O' TSBROWSE 1
|
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2053
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.07.22 19:26. Заголовок: SergKis пишет: Небо..
SergKis пишет: Принято с благодарностью
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|