Автор | Сообщение |
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
[только новые]
|
|
Andrey
|
| постоянный участник
|
Пост N: 6758
Зарегистрирован: 12.09.06
|
|
Отправлено: 19.07.20 19:57. Заголовок: Григорий ! Задание ф..
Григорий ! Задание фонтов для ТСБ не работает. aFont := { "Cell", "Head", "Foot", "SpecH", "SuperH", "Edit" } DEFINE TBROWSE oBrw AT nY, nX ; .... FONT aTsbFont ; Сергей дал свой h_tbrowse.prg, с ним заработало !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3289
Зарегистрирован: 17.02.12
|
|
Отправлено: 19.07.20 20:06. Заголовок: Andrey пишет Сергей ..
Andrey пишет цитата: | Сергей дал свой h_tbrowse.prg, с ним заработало ! |
| Я добавил только Method AddSuperHead( nFromCol, nToCol, uHead, nHeight, aColors, l3dLook, uFont, uBitMap, lAdjust, lTransp, ; ... hFont := iif( ! Empty(uFont), iif( ValType( uFont ) == "O", uFont:hFont, uFont ), hFont ) If ! Empty( ::aColumns ) .and. empty( hFont ) hFont := iif( ValType( ::aColumns[ nFromCol]:hFontHead ) == "O", ::aColumns[ nFromCol]:hFontHead, ; iif( ::aColumns[ nFromCol]:hFontHead != Nil, ::aColumns[ nFromCol]:hFontHead, hFont ) ) EndIf
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1739
Зарегистрирован: 11.02.10
|
|
Отправлено: 19.07.20 20:34. Заголовок: SergKis пишет: If !..
SergKis пишет: цитата: | If ! Empty( ::aColumns ) .and. empty( hFont ) |
| Ok Благодарю за помощь
|
|
|
Haz
|
| |
Пост N: 1579
Зарегистрирован: 20.02.11
|
|
Отправлено: 19.07.20 21:18. Заголовок: SergKis пишет: Вопр..
SergKis пишет: не надо. 😎 это была так скажем идея интересующимся. Не стоит перегружать объект редко используемым функционалом. Tsb и так скоро будет перегружен тем, что используется редко. Главная беда tsb это не отсутствие функционала, его можно дописать. Главная беда это тормозной вывод на экран, отсутствие буферизации и пр. Если вверх/вниз еще можно скролл окна использовать, вправо/влево все в прорисовке по ячейкам. Раз сто смотрел код , из мыслей как сделать оптимальнее только скролл окна и прорисовка появившейся колонки . но пока или руки не дошли или текучка так давит, что уже не до рук
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1740
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.07.20 09:50. Заголовок: Всем кому это интересно
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1741
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.20 09:53. Заголовок: Всем кому это интересно
Выложил обновление для сборки 20.06 ( Update 4) с учетом последних исправлений Базовый дистрибутив для BCC 5.8.2 находится по адресу http://hmgextended.com/files/CONTRIB/hmg-20.06-setup.exe Важно: в этом обновлении переработана поддержка графических файлов в форматах BMP, GIF, TIF, JPG и PNG для всех элементов управления (в т.ч. Tab Pages)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6772
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.07.20 10:37. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | в этом обновлении переработана поддержка графических файлов |
| А в чём это заключается ?
|
|
|
Dima
|
| |
Пост N: 7220
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.07.20 10:40. Заголовок: Andrey пишет: А в ч..
Andrey пишет: цитата: | А в чём это заключается ? |
| ChangeLog.txt
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1742
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.20 11:41. Заголовок: Andrey пишет: в чём..
Andrey пишет: Для пользователей библиотеки добавлена возможность использовать популярный формат PNG практически для всех элементов управления, при этом Си-код ядра был упрощен и стал универсальным (я только адаптировал наработки Клаудио Сото для HMG, которые он сделал еще в 2014 году).
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6773
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.07.20 12:36. Заголовок: Что то PNG в ТСБ оче..
Что то PNG в ТСБ очень фигово выглядит !!! Если ставишь PNG в суперхидер и шапку (подвал наверное тоже), то картинка фиговая становиться... Цвета заливки берутся из цвета и вся красота накрывается. Может я и неправильно что то делаю.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1743
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.20 14:18. Заголовок: Andrey пишет: PNG в..
Andrey пишет: цитата: | PNG в ТСБ очень фигово выглядит |
| Функция LOADIMAGE(), которая используется в TBROWSE для загрузки картинок, имеет всего 2 параметра и заточена для загрузки BMP файлов в целях совместимости. Если добавить в нее дополнительные параметры, то можно попробовать подстроить ее для формата PNG. Или можно использовать для загрузки картинок другую (уже готовую) функцию C_SETPICTURE(), которая имеет все эти дополнительные параметры
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6774
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.07.20 15:34. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Или можно использовать для загрузки картинок другую (уже готовую) функцию C_SETPICTURE(), которая имеет все эти дополнительные параметры |
| Хотелось бы это иметь в ТСБ. Вот ещё пример:
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3291
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.07.20 16:38. Заголовок: gfilatov2002 Может ..
gfilatov2002 Может немного поправить Row в h_alert.prg (как то с одной строкой кривовато отображает) STATIC FUNCTION FillDlg( cMsg, aOptions, nLineas, cIcoFile, nIcoSize, aBtnColors, bBlock, lClosable, cFont, nMaxLen ) ... ELSE //@ nChrHeight * 1.5 + GetBorderHeight(), nCol ; @ nChrHeight + GetBorderHeight(), nCol ; LABEL Say_01 VALUE AllTrim( cMsg ) OF ( cForm ) ; FONT cFont WIDTH nWidthCli - nCol - GetBorderWidth() - MARGIN / 4 HEIGHT Max( nChrHeight, nIcoSize ) ; FONTCOLOR aFontColor BACKCOLOR aBackColor VCENTERALIGN ENDIF IF nIcoSize > 0 DRAW ICON IN WINDOW ( cForm ) ; AT nChrHeight + GetBorderHeight(), MARGIN / iif( nIcoSize == 32, 1.4, iif( nIcoSize == 48, 1.7, 2 ) ) ; PICTURE cIcoFile WIDTH nIcoSize HEIGHT nIcoSize TRANSPARENT ENDIF ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1744
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.07.20 17:15. Заголовок: SergKis пишет: попр..
SergKis пишет: цитата: | поправить Row в h_alert.prg |
| Сергей, Текст этой одной строки выводится примерно посередине высоты иконки, как и в оригинальной функции MsgInfo(). Не вижу проблемы SergKis пишет: цитата: | Max( nChrHeight, nIcoSize ) |
| Ага, уже понял
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1745
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.07.20 11:13. Заголовок: Всем кому это интересно
Выложил "тихое" обновление для сборки 20.06 (Update 4) с учетом последних исправлений Что нового: - GRID не будет сваливаться, если 1000000 (один миллион) раз запросить значение ячейки грида. Тестовый пример для этой ошибки см. ниже Скрытый текст
#include "minigui.ch" Function Main() Local aRows [1000] [3] DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 450 ; HEIGHT 400 ; TITLE 'Grid Demo' ; MAIN FOR i := 0 TO 99 aRows [ i * 10 + 1] := {'Simpson','Homer','555-5555'} aRows [ i * 10 + 2] := {'Mulder','Fox','324-6432'} aRows [ i * 10 + 3] := {'Smart','Max','432-5892'} aRows [ i * 10 + 4] := {'Grillo','Pepe','894-2332'} aRows [ i * 10 + 5] := {'Kirk','James','346-9873'} aRows [ i * 10 + 6] := {'Barriga','Carlos','394-9654'} aRows [ i * 10 + 7] := {'Flanders','Ned','435-3211'} aRows [ i * 10 + 8] := {'Smith','John','123-1234'} aRows [ i * 10 + 9] := {'Pedemonti','Flavio','000-0000'} aRows [ i * 10 + 10] := {'Gomez','Juan','583-4832'} NEXT i @ 10,10 GRID Grid_1 ; WIDTH 200 ; HEIGHT 330 ; HEADERS {'Last Name','First Name','Phone'} ; WIDTHS {140,140,140}; ITEMS aRows ; VALUE 1 ; TOOLTIP 'Editable Grid Control' ; EDIT ; JUSTIFY { BROWSE_JTFY_LEFT,BROWSE_JTFY_RIGHT, BROWSE_JTFY_RIGHT } @ 10, 250 BUTTON Button_1 CAPTION "Start" ACTION ( Test(), MsgInfo( "Ended" ) ) END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 RETURN NIL FUNCTION Test FOR i := 1 TO 1000 FOR j := 1 TO 1000 t := GetProperty( 'Form_1', 'Grid_1', 'Cell', i, 3 ) NEXT j do events NEXT i RETURN NIL
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3292
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.07.20 13:47. Заголовок: gfilatov2002 Малень..
gfilatov2002 Маленькая правка, что бы имена колонок не дублировались METHOD Paint() CLASS TSBrowse ... If ::lSelector Default ::nSelWidth := Max( nBmpWidth( ::hBmpCursor ), Min( ::nHeightHead, 25 ) ) oCol := ColClone( ::aColumns[ 1 ], Self ) oCol:bData := {||""} oCol:cHeading := "" oCol:nWidth := ::nSelWidth oCol:lNoHilite := .T. oCol:lFixLite := Empty( ::hBmpCursor ) oCol:nClrBack := oCol:nClrHeadBack oCol:cName := "SELECTOR" ::InsColumn( 1, oCol ) ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1746
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.07.20 14:54. Заголовок: SergKis пишет: что ..
SergKis пишет: цитата: | что бы имена колонок не дублировались |
| Благодарю за помощь Если возможно, проверьте работу переработанной функции LoadImage() цитата: | HB_FUNC( LOADIMAGE ) { HWND hWnd = HB_ISNIL( 2 ) ? GetActiveWindow() : ( HWND ) HB_PARNL( 2 ); HBITMAP hBitmap = NULL; if( hb_parclen( 1 ) > 0 ) { hBitmap = HMG_LoadPicture ( hb_parc( 1 ), // Filename, resource or URL hb_parnidef( 3, -1 ), // Width hb_parnidef( 4, -1 ), // Height hWnd, // Handle of parent window hb_parnidef( 5, 1 ), // Scale factor hb_parnidef( 6, 1 ), // Transparent hb_parnldef( 7, -1 ), // BackColor hb_parnidef( 8, 0 ), // Adjust factor hb_parldef( 9, HB_FALSE ), // Bitmap with alpha channel hb_parnidef( 10, 255 ) ); } HB_RETNL( ( LONG_PTR ) hBitmap ); } |
| Пример Tsb_BitMaps у меня отработал нормально
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3293
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.07.20 15:28. Заголовок: gfilatov2002 пишет п..
gfilatov2002 пишет цитата: | проверьте работу переработанной функции LoadImage() |
| Старые варианты (картинок немного) с новой LoadImage() отработали нормально Картинок много у Андрея, с доп. параметрами LoadImage() надо у него проверять
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 6776
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.07.20 16:26. Заголовок: SergKis пишет: Карт..
SergKis пишет: цитата: | Картинок много у Андрея, с доп. параметрами LoadImage() надо у него проверять |
| Вот сравнение до и после: Картинки могу выслать...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3294
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.07.20 16:41. Заголовок: Andrey пишет Картинк..
Andrey пишет Ты ф-ю заменил, либу пересобрал и старые примеры с bmp получил ? И картинка по этой ситуации
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|