Автор | Сообщение |
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
[только новые]
|
|
gfilatov2002
|
| moderator
|
Пост N: 1082
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.03.17 13:00. Заголовок: Vlad04 пишет: добав..
Vlad04 пишет: цитата: | добавляю НОВУЮ ФОРМУ - и всё вываливается |
| Благодарю за сообщение! Уже поправил эту ошибку Вы можете обновить HMGS-IDE через меню Help->Update
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 678
Зарегистрирован: 13.10.05
|
|
Отправлено: 23.03.17 13:07. Заголовок: :sm12: ок..
ок
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5333
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.17 19:24. Заголовок: Последняя версия Мин..
Последняя версия МиниГуи. Примеры MiniGUI\SAMPLES\BASIC\WAIT_WINDOW_2 Картинка на белом фоне ТЕПЕРЬ СЕРАЯ, вместо белой !!! Как исправить на белый цвет ? Заодно и в примерах нужно поправить.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1083
Зарегистрирован: 11.02.10
|
|
Отправлено: 26.03.17 19:37. Заголовок: Andrey пишет: Как и..
Andrey пишет: цитата: | Как исправить на белый цвет ? |
| Замени класс WHITEBACKGROUND на STRETCH при определении Image_1 Andrey пишет: цитата: | Заодно и в примерах нужно поправить. |
| Уже сделал для новой сборки
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5334
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.17 21:14. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Замени класс WHITEBACKGROUND на STRETCH при определении Image_1 |
| Заменил. Не помогло ! Осталось также.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5335
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.03.17 23:54. Заголовок: Исправил так: DEF..
Исправил так: DEFINE WINDOW &cFormName ; ....... BACKCOLOR {240,240,240} ; Окно стало сереньким как и картинка ... Зато фон окна совпадает с картинкой ! gfilatov2002 правь примеры для следующей версии.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1084
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.03.17 11:01. Заголовок: Andrey пишет: Окно ..
Andrey пишет: цитата: | Окно стало сереньким как и картинка |
| Разобрался с этим... Дело в том, что Минигуи использует в качестве цвета фона окна по умолчанию системный цвет COLOR_BTNFACE. Для 7-й Винды этот цвет как раз {240,240,240}, а не чисто белый, как было сделано в примере. Думаю, что теперь вопрос закрыт Больше хороших новостей о следующей апрельской сборке: - выполнена адаптация библиотеки для работы с Си-компилятором VisualC 2015; - Петр показал, как использовать уже имеющуюся в библиотеке функцию LoadIconByName() для загрузки иконок различных размеров из одного многостраничного ICON файла (это то, чего не хватало в минигуи, Андрею ). Благодарю за Ваше внимание
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5336
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.03.17 18:46. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | LoadIconByName() для загрузки иконок различных размеров из одного многостраничного ICON файла (это то, чего не хватало в минигуи, Андрею ). |
| Это отличная новость !!! Но боюсь что BCC 5.51 не сможет проглотить этот формат иконок. У меня он вылетает на сборке с ошибкой. Единственную иконку различных размеров линковщик берёт только для MAIN окна... gfilatov2002 пишет: цитата: | выполнена адаптация библиотеки для работы с Си-компилятором VisualC 2015; |
| Красота ! Что там будет со сборкой .... Надо бы попробовать !!!
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1085
Зарегистрирован: 11.02.10
|
|
Отправлено: 31.03.17 11:05. Заголовок: Andrey пишет: Что т..
Andrey пишет: Сборка библиотеки и примеров осуществляется с помощью Харбор-утилиты hbmk2 Пример батника см.ниже Скрытый текст
@echo off set OLDPATH=%PATH% set HMGPATH=c:\minigui set vccdir=C:\VC2015 SET LIB=%vccdir%\LIB;%vccdir%\SDK\LIB;%vccdir%\kit\lib\x86;%vccdir%\kit\lib\ucrt\x86 SET INCLUDE=%vccdir%\INCLUDE;%vccdir%\SDK\INCLUDE;%hdir%\mvc\include;%vccdir%\kit\include\ucrt;%vccdir%\kit\include\ucrt\sys;%vccdir%\kit\include\um SET PATH=%HMGPATH%\harbour\bin;%vccdir%\BIN;%vccdir%\SDK\BIN echo #define HMGRPATH %HMGPATH%\RESOURCES > _hmg_resconfig.h COPY /b %HMGPATH%\resources\minigui.rc+%1.rc+%HMGPATH%\resources\filler _temp.rc >>NUL hbmk2 %1 %2 %3 %4 %5 %6 %7 %8 %HMGPATH%\minigui.hbc -D__CALLDLL__ -q -warn- -run >build.log 2>&1 del _hmg_resconfig.h del _temp.* set HMGPATH= set PATH=%OLDPATH%
| Andrey пишет: Напиши мне, пришлю ссылку на архив бетки, в котором есть исходники, примеры, Харбор и уже собранные библиотеки. Примечание. В качестве Си-компилятора здесь используется Command Line Visual C 2015 Compiler, который лежит на сайте http://whosaway.com (его размер около 374 MB)
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5344
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.04.17 11:13. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | - выполнена адаптация библиотеки для работы с Си-компилятором VisualC 2015; |
| Опять засада... Папка для Си-компилятора тоже называется MiniGui. Как ставить на диск С: одновременно для BCC и MSVC и ещё MinGW ? Может пора переделать структуру папок ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1086
Зарегистрирован: 11.02.10
|
|
Отправлено: 05.04.17 14:40. Заголовок: Andrey пишет: Как с..
Andrey пишет: цитата: | Как ставить на диск С: одновременно для BCC и MSVC и ещё MinGW ? |
| Это не серьезно Просто временно переименуйте (или переместите на другой диск) одноименные папки А после тестирования всегда можно все вернуть назад... Andrey пишет: цитата: | Может пора переделать структуру папок ? |
| Файлы конфигурации в минигуи - только для рабочего примера. Вы можете использовать переменные окружения цитата: | set HMGPATH=c:\minigui set vccdir=C:\VC2015 |
|
в батнике buildapp.bat для настройки требуемой конфигурации
|
|
|
|
Haz
|
| |
Пост N: 1080
Зарегистрирован: 20.02.11
|
|
Отправлено: 13.04.17 15:50. Заголовок: Григорий Просьба по..
Григорий Просьба подправить код т.к. если ::nRowCount() < ::nLen игнорируется выполнение ::bChange С поправкой ниже все работает. * ============================================================================ * METHOD TSBrowse:PageDown() Version 9.0 Nov/30/2009 * ============================================================================ Примерно в строке :8555 If nKeyPressed == Nil ::Refresh( ::nLen < nTotLines ) If ::bChange != Nil Eval( ::bChange, Self, VK_NEXT ) EndIf ElseIf nSkipped >= nLines ::DrawSelect() Else nKeyPressed := Nil ::DrawSelect() If ::bChange != Nil Eval( ::bChange, Self, VK_NEXT ) EndIf EndIf
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1087
Зарегистрирован: 11.02.10
|
|
Отправлено: 13.04.17 16:39. Заголовок: Haz пишет: С поправ..
Haz пишет: цитата: | С поправкой ниже все работает |
| Благодарю за помощь! Уже поправил
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1408
Зарегистрирован: 17.02.12
|
|
Отправлено: 18.04.17 07:11. Заголовок: gfilatov2002 Возмож..
gfilatov2002 Возможно, будет интересно, сделать возможность не задавать значения ControlName, ParentForm в функциях, сделав их по default _HMG_ThisControlName, _HMG_ThisFormName. Тогда упростится вызов их в событиях контролов. h_ControlMisc.prg : ============= ... *-----------------------------------------------------------------------------* FUNCTION _GetValue ( ControlName, ParentForm, Index ) *-----------------------------------------------------------------------------* ... Default ControlName := _HMG_ThisControlName, ; ParentForm := _HMG_ThisFormName IF PCount() < 3 // было == 2 IF Upper ( ControlName ) == 'VSCROLLBAR' RETURN GetScrollPos ( GetFormHandle ( ParentForm ) , SB_VERT ) ELSEIF Upper ( ControlName ) == 'HSCROLLBAR' RETURN GetScrollPos ( GetFormHandle ( ParentForm ) , SB_HORZ ) ENDIF ... *-----------------------------------------------------------------------------* FUNCTION GetControlIndex ( ControlName, ParentForm ) *-----------------------------------------------------------------------------* // было LOCAL mVar := '_' + ParentForm + '_' + ControlName LOCAL mVar := '_' + iif( Empty(ParentForm ), _HMG_ThisFormName , ParentForm ) + ; '_' + iif( Empty(ControlName), _HMG_ThisControlName, ControlName ) IF __mvExist ( mVar ) RETURN __mvGet ( mVar ) ENDIF RETURN 0 ... и так далее по функциям с LOCAL mVar := '_' + ParentForm + '_' + ControlName h_Windows.prg : =========== ... *-----------------------------------------------------------------------------* FUNCTION GetFormIndex ( FormName ) *-----------------------------------------------------------------------------* // было LOCAL mVar := '_' + FormName LOCAL mVar := '_' + iif( Empty(FormName), _HMG_ThisFormName, FormName ) IF __mvExist ( mVar ) RETURN __mvGet ( mVar ) ENDIF RETURN 0 ... *-----------------------------------------------------------------------------* FUNCTION _ReleaseWindow ( FormName ) *-----------------------------------------------------------------------------* LOCAL b, i, FormHandle Default FormName := _HMG_ThisFormName b := _HMG_InteractiveClose ...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1422
Зарегистрирован: 17.02.12
|
|
Отправлено: 20.04.17 08:58. Заголовок: SergKis пишет Тогда ..
SergKis пишет цитата: | Тогда упростится вызов их в событиях контролов. |
| Т.е. в блоках кода ACTION, GOT\LOST FOCUS, MOUSE..., и т.д. можно писать xVal := _GetValue() _SetValue(,, xVal) nInd := GetControlInex() hCnt := GetControlHandle() ... это облегчает писанину, особенно когда "дурит" препроцессор и не пропускает псевдо ООП команды у себя сделал еще вариант If hb_IsNumeric( ControlName) - то это уже готовый Index конттрола и макро получение индекса не выполняется, используя полученное значение. Но это, наверно, выходит за пределы "религии" hmg
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1088
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.04.17 10:16. Заголовок: SergKis пишет: это,..
SergKis пишет: цитата: | это, наверно, выходит за пределы "религии" hmg |
| Благодарю за Ваши предложения, но это действительно за пределами философии МиниГуи Кстати, выпустил сегодня pre-release апрельской сборки 17.04 Огромная благодарность Петру за все предложенные улучшения Си-кода ядра библиотеки
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1092
Зарегистрирован: 11.02.10
|
|
Отправлено: 26.04.17 10:35. Заголовок: Всем, кому это интересно
Опубликована новая сборка 17.04 для следующих С-компиляторов: - BCC 5.51 (Harbour и xHarbour) - BCC 10.1 (только Harbour) Базовый дистрибутив для BCC 5.5 и Harbour лежит по адресу http://hmgextended.com/files/CONTRIB/hmg-17.04-setup.exe Прямые ссылки на другие дистрибутивы есть на домашней странице библиотеки Под заказ возможно сделать сборки для таких дополнительных С-компиляторов: - MinGW 6.3.0 32-bit и Harbour 3.4.0dev; - MinGW 6.3.0 64-bit и Harbour 3.4.0dev; - MS VisualC 2015 32-bit and Harbour 3.2.0dev; - PellesC 8.0 32-bit и xHarbour 1.2.3 build 10193. Ожидаю Ваших комментариев Желаю мира и добра и благодарю за Ваше внимание
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1426
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.04.17 12:41. Заголовок: gfilatov2002 добаво..
gfilatov2002 добавочка в INKEYGUI ... switch( Msg.message ) { case WM_KEYDOWN : case WM_LBUTTONDOWN: { nRet = 1002; lNoLoop = TRUE; break; } case WM_RBUTTONDOWN: { nRet = 1004; lNoLoop = TRUE; break; } case WM_SYSKEYDOWN : { nRet = Msg.wParam; lNoLoop = TRUE; break; } case WM_TIMER : { lNoLoop = Msg.wParam == dwTimer; break; } } ...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1093
Зарегистрирован: 11.02.10
|
|
Отправлено: 28.04.17 12:58. Заголовок: SergKis Благодарю з..
SergKis Благодарю за помощь
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 1430
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.04.17 11:59. Заголовок: gfilatov2002 Товари..
gfilatov2002 Товарищ по работе так предлагает InKeyGUI Скрытый текст
static int _InKeyGUI( UINT nMSec) { MSG Msg; BOOL lNoLoop=FALSE; UINT dwTimer, nRet=0, uTimeout=10; uTimeout = nMSec; if( uTimeout==0 ) uTimeout = 0x0FFFFFFF; dwTimer = SetTimer( NULL, 0, uTimeout, NULL); while( GetMessage(&Msg, NULL, 0, 0) ) { switch( Msg.message ) { case WM_KEYDOWN : case WM_SYSKEYDOWN : { nRet = Msg.wParam; lNoLoop = TRUE; break; } case WM_TIMER : { lNoLoop = Msg.wParam == dwTimer; break; } case WM_LBUTTONDOWN : case WM_RBUTTONDOWN : { lNoLoop = TRUE; PostMessage( Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam ); nRet = (Msg.message==WM_LBUTTONDOWN)? 1002:1004; break; } } if( lNoLoop ) { KillTimer( NULL, dwTimer ); return nRet; } else { TranslateMessage( &Msg ); // Translates virtual key codes DispatchMessage( &Msg ); // Dispatches message to window } } return 0; } // BAA HB_FUNC( INKEYGUI ) { UINT uTimeout=10; if( HB_ISNUM(1) ) uTimeout = hb_parni(1); hb_retni( _InKeyGUI( uTimeout ) ); }
|
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|