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

SergKis: gfilatov2002 Немного поправил, получилось [pre2] *-----------------------------------------------------------------------------* FUNCTION _EndTBrowse( bEnd ) *-----------------------------------------------------------------------------* LOCAL i, k, n, oBrw LOCAL oc := NIL, ow := NIL #ifdef _OBJECT_ ow := oDlu2Pixel() #endif IF _HMG_BeginTBrowseActive i := AScan( _HMG_aControlHandles, _HMG_ActiveTBrowseHandle ) IF i > 0 oBrw := _HMG_aControlIds[ i ] oBrw:lRePaint := .T. oBrw:Display() IF ( k := Len(oBrw:aColumns) ) > 0 .AND. ! Empty( oBrw:oPhant ) oc := ATail(oBrw:aColumns) n := iif( ValType( oc:nClrHeadBack ) == "B", Eval( oc:nClrHeadBack, k, oBrw ), oc:nClrHeadBack ) oBrw:oPhant:nClrHeadBack := n n := iif( ValType( oc:nClrFootBack ) == "B", Eval( oc:nClrFootBack, k, oBrw ), oc:nClrFootBack ) oBrw:oPhant:nClrFootBack := n oBrw:Refresh() oc := NIL ENDIF [/pre2]

gfilatov2002: SergKis пишет: Немного поправил OK, принято Благодарю за помощь

gfilatov2002: Выложил 4-е обновление сборки 23.02 с учетом последних исправлений и дополнений click here Благодарю за многолетнюю поддержку и помощь в разработке этого проекта: Сергея Киселева, Игоря Назарова и Андрея Верченко. Также я признателен Саше Савову из Болгарии. До новых встреч


SergKis: gfilatov2002 пишет Выложил 4-е обновление сборки 23.02 - minor corrections in the method UpStable(). [pre2] ::lPainted := ::lInitGoTop IF ::lPainted .AND. ::bChange != NIL Eval( ::bChange, Self, VK_UP ) ENDIF ::bChange := NIL ::lHitTop := .F. ::lHitBottom := .F. ::GoTop() ::lPainted := .T. While !( ::cAlias )->( Eof() ) [/pre2] Получается, что прорисовку теперь в :UpStable() нельзя отключить. Наверно, такую возможность надо было оставить, сделать [pre2] LOCAL nRow := ::nRowPos, ; ... bChange := ::bChange, ; nLastPos := ::nLastPos, ; lPainted := ::lPainted ... ::GoTop() ::lPainted := lPainted While !( ::cAlias )->( Eof() ) [/pre2] PS Только сейчас обратил внимание, что HB_FUNC( RCDATATOFILE ) HB_FUNC( RCDATATOMEM ) достают только из ресурсов своего exe, а из dll внешней - нет, HMODULE hModule = GetResources(); может есть смысл брать, если задан параметр из него hModule брать

gfilatov2002: SergKis пишет: такую возможность надо было оставить, сделать LOCAL nRow := ::nRowPos, ; ... bChange := ::bChange, ; nLastPos := ::nLastPos, ; lPainted := ::lPainted ... ::GoTop() ::lPainted := lPainted While !( ::cAlias )->( Eof() ) Да, так будет лучше Благодарю за подсказку P.S. Уже поправил эту неточность в инсталляторе текущей сборки P.S.2 Обновил также Unicode архив этой сборки для Сергея...

gfilatov2002: По ходу добавил возможность отображения на кнопке PNG файлов с альфа-каналом. На картинке ниже видно, как выглядят кнопки в нормальном и отключенном виде. Кстати, сегодня исполнилось ровно 170 лет со дня рождения Ван Гога...

SergKis: gfilatov2002 пишет Обновил также Unicode архив этой сборки для Сергея... Спасибо , уже взял

Andrey: gfilatov2002 пишет: Обновил также Unicode архив этой сборки для Сергея А я тоже хочу....

Haz: SergKis пишет: bChange := ::bChange, ; nLastPos := ::nLastPos, ; lPainted := ::lPainted ... ::GoTop() ::lPainted := lPainted в новой версии как моргал при редактировании ::Upstable() так и моргает в ::GoTop() влетаем со включенным ::lPainted и это вызывает прорисовку , простое решение перед ::Gotop() выключить а после него включить. У себя такую правку делаю, чтоб не править везде bPre(Post)Edit. Но если никто не жалуется , значит не востребовано. PS или во все методы навигации добавлять параметр , например ::Gotop( lRefresh ) по умолчанию включено.

SergKis: Haz пишет в новой версии как моргал при редактировании ::Upstable() так и моргает в ::GoTop() влетаем со включенным ::lPainted и это вызывает прорисовку , простое решение перед ::Gotop() выключить а после него включить. У себя такую правку делаю, чтоб не править везде bPre(Post)Edit. Но если никто не жалуется , значит не востребовано Моргать и должно, ситуация не менялась от пред. версии. То что не востребовано, согласен, т.к. заметно на "тяжелых" таблицах, а таких раз, два и все. Мест, где надо править bPostEdit (отключить :lPainted) с зависимыми строками по Row, от произведенного Edit, тоже мало, так что это не вызывает трудностей. Делать ::Gotop( lRefresh ), по мне так совсем не катит, лишнее. Если доберусь до переделки VO прогр., где таблица с откл. стандартным поведением клавиш перемещения (назначены свои блоки кода), то попробую после 1-го отображения откл. ::lPainted и вкл.\выкл. в своих блоках кода на клавишах перемещения. Но программа VO работает и пока острой замены не требует.

Haz: SergKis пишет: заметно на "тяжелых" таблицах, а таких раз, два и все. заметно на простой таблице при работе со слабой сеткой. Ну а все невостребованные решения я и так делаю заменой методов на внешние, так что править bPostEdit нужды нет. У остальных , при необходимости трудностей видимо не вызовет

Andrey: gfilatov2002 пишет: По ходу добавил возможность отображения на кнопке PNG файлов с альфа-каналом. А где этот красивый пример ?

gfilatov2002: Andrey пишет: где этот красивый пример ? Это пример из папки SAMPLES\BASIC\BUTTON_4 для будущих сборок, поскольку требуется также изменение в ядре библиотеки. Если же интересует текст сырцов самого примера, то он приведен ниже. [pre]/* * MINIGUI - Harbour Win32 GUI library */ #include "minigui.ch" FUNCTION Main() LOCAL aBtn, n LOCAL cPngPath := ".\images\" LOCAL aPng := {} AEval( { 3, 1, 2, 6, 7, 8, 9, 10 }, {| c | ; AAdd( aPng, cPngPath + "image" + hb_ntos( c ) + ".png" ) } ) aBtn := Array( Len( aPng ) ) DEFINE WINDOW Form_1 ; AT 0, 0 ; WIDTH 80 + 70 * Len( aPng ) ; HEIGHT 430 ; MAIN ; TITLE 'Disabled Buttons Test' ; NOSIZE ; NOMAXIMIZE @ 40, 40 LABEL Lbl_1 VALUE "ENABLED BUTTONS NORMAL LOOK" AUTOSIZE FOR n := 1 TO Len( aPng ) aBtn[ n ] := "Btn1_" + hb_ntos( n ) DEFINE BUTTON &( aBtn[ n ] ) ROW 70 COL n * 70 - 30 ACTION NIL PICTURE aPng[ n ] WIDTH 64 HEIGHT 64 END BUTTON NEXT @ 150, 40 LABEL Lbl_2 VALUE "LOADED PICTURES NORMAL LOOK" AUTOSIZE FOR n := 1 TO Len( aPng ) aBtn[ n ] := "Img2_" + hb_ntos( n ) DEFINE IMAGE &( aBtn[ n ] ) ROW 180 COL n * 70 - 20 ACTION NIL PICTURE aPng[ n ] WIDTH 48 HEIGHT 48 STRETCH .T. IF n == 4 HEIGHT 55 ENDIF END IMAGE NEXT @ 260, 40 LABEL Lbl_3 VALUE "DISABLED BUTTONS" AUTOSIZE FOR n := 1 TO Len( aPng ) aBtn[ n ] := "Btn3_" + hb_ntos( n ) DEFINE BUTTON &( aBtn[ n ] ) ROW 290 COL n * 70 - 30 ACTION NIL PICTURE aPng[ n ] WIDTH 64 HEIGHT 64 END BUTTON Form_1.&( aBtn[ n ] ).Enabled := .F. NEXT END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 RETURN NIL [/pre]

Andrey: Ждём с не терпеньем - этот пример !

Andrey: Пример MiniGUI\SAMPLES\Advanced\AESDEMO Не собирается...[pre2] Harbour 3.2.0dev (r2301231146) Copyright (c) 1999-2023, https://harbour.github.io/ D:\TEMP\hbmk_bh65r7.dir\aesdemo.c: D:\TEMP\hbmk_12kx7d.c: Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Error: Unresolved external '_HB_FUN_ENCRYPTFILEAES' referenced from D:\TEMP\HBMK_BH65R7.DIR\AESDEMO.OBJ Error: Unresolved external '_HB_FUN_DECRYPTFILEAES' referenced from D:\TEMP\HBMK_BH65R7.DIR\AESDEMO.OBJ hbmk2[aesdemo]: Error: Running linker. 2[/pre2] Откуда брать эти функции ?

Dima: Andrey пишет: Откуда брать эти функции ? HBAES

SergKis: Andrey build.bat запусти в примере (в нем написано)

Andrey: SergKis пишет: build.bat запусти в примере (в нем написано) Не сообразил сразу. Начал как всегда запускать Compile.bat Спасибо !

gfilatov2002: Попробовал добавить иконки приложений в список запущенных задач в примере из папки SAMPLES\Advanced\PROCESS_TERMINATOR И вот что у меня получилось:

Andrey: Классное решение ! Пример в новую библиотеку !



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