Автор | Сообщение |
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; - новые и обновленные старые примеры (как обычно ).
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|
gfilatov2002
|
| moderator
|
Пост N: 1952
Зарегистрирован: 11.02.10
|
|
Отправлено: 30.11.21 11:05. Заголовок: Всем кому это интересно ;-)
Опубликована новая сборка 21.11 Благодарю за помощь Сергея Киселева и Андрея Верченко Желаю всем доброго здоровья и успеха в делах P.S. Обновил также Unicode архив.
|
|
|
Dima
|
| |
Пост N: 7492
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.11.21 18:01. Заголовок: Andrey А сырец то с..
Andrey А сырец то смотрел ? #define MG_VERSION "Harbour MiniGUI Extended Edition 21.10.3 (" *-----------------------------------------------------------------------------* FUNCTION MiniGuiVersion( nVer ) *-----------------------------------------------------------------------------* #ifndef __XHARBOUR__ LOCAL cVer := MG_VERSION + hb_ntos( hb_Version( HB_VERSION_BITWIDTH ) ) + "-bit)" #else LOCAL cVer := MG_VERSION + iif( IsExe64(), "64", "32" ) + "-bit)" #endif LOCAL anOfs cVer += " " + HMG_CharsetName() anOfs := { Len( cVer ), 40, 15 } hb_default( @nVer, 0 ) IF nVer > 2 nVer := 2 ELSEIF nVer < 0 nVer := 0 ENDIF RETURN Left( cVer, anOfs[ nVer + 1 ] )
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7146
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.11.21 18:16. Заголовок: Dima пишет: А сырец..
Dima пишет: Для чего ? Мне надо в коде версию сравнивать. Допустим новый пример MiniGUI\SAMPLES\Advanced\Tsb_5Win не будет работать в старых версиях МиниГуи. Отсюда будет не заслужанные восклицания, типа автор не отладил примеры. Т.е. примерно так хотелось бы cMsg := "ВНИМАНИЕ !;" cMsg += "Для сборки требуется версия МиниГуи 21.11 или выше !;;" IF MiniGuiVersionNumba() < 211100 AlertStop(cMsg,"Checking the MiniGui version") ENDIF Вот сделал пока свою функцию так: FUNCTION MiniGuiVersionNumba() LOCAL cRegEx, cVer, aVal, nVer := 0, cVal := MiniGuiVersion() cRegEx := "\d+\.\d+[\d.]*" aVal := HB_RegEx(cRegEx, cVal) IF LEN(aVal) > 0 cVal := aVal[1] cVer := CHARREM( '.', cVal ) cVer := PADR(cVer,6,'0') nVer := VAL( cVer ) ENDIF RETURN nVer Но каждый раз таскать в примеры свою функцию не очень то и приятно. Хотя она тоже не постоянно требуется.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3948
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.11.21 18:26. Заголовок: Andrey Чем не нрави..
Andrey Чем не нравится Harbour MiniGUI Extended Edition 21.11.0 (32-bit) ANSI не пойму ? 0 - базовая сборка, будет update 1 => 21.11.1
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3949
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.11.21 18:48. Заголовок: Andrey пишет Это так..
Andrey пишет цитата: | Это так должно быть или опечатка ? |
| Думаю, что ты что то напутал с установками по каталогам или в файле BATCH\minigui.cfg пред. версия выдает Harbour MiniGUI Extended Edition 21.10.3 (32-bit) ANSI
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3950
Зарегистрирован: 17.02.12
|
|
Отправлено: 30.11.21 19:13. Заголовок: Так я уже поставил и..
Так я уже поставил и пробую новую версию от сегодня а есть еще каталоги со старой версией сборка, там свою строку версии получаем
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7149
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.11.21 19:46. Заголовок: SergKis пишет: проб..
SergKis пишет: цитата: | пробую новую версию от сегодня |
| Опять недосмотрел ...
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7150
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.21 11:00. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Опубликована новая сборка 21.11 |
| Собрал свои проги. Полёт нормальный. Обратите внимание на новый пример MiniGUI\SAMPLES\Advanced\Tsb_5Win
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1953
Зарегистрирован: 11.02.10
|
|
Отправлено: 01.12.21 12:33. Заголовок: Andrey пишет: Полёт..
Andrey пишет: Благодарю за подтверждение
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3951
Зарегистрирован: 17.02.12
|
|
Отправлено: 01.12.21 13:01. Заголовок: Andrey пишет Вот сд..
Andrey пишет цитата: | Вот сделал пока свою функцию так: FUNCTION MiniGuiVersionNumba() |
| Можно проще в свой ch (prg) файл добавить #xtranslate MiniGuiVersionChar() => Substr( MiniGuiVersion(), At(".", MiniGuiVersion()) - 2, 8 ) #xtranslate MiniGuiVersionNumba() => Int( Val( MiniGuiVersionChar() ) * 10000 + Val( Right(MiniGuiVersionChar(), 2) ) ) использовать ? "ver. =", MiniGuiVersion() ? "v.m. =", MiniGuiVersionChar() ? "numba =", MiniGuiVersionNumba()
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7151
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.21 17:34. Заголовок: SergKis пишет: Можн..
SergKis пишет: цитата: | Можно проще в свой ch (prg) файл добавить |
| Отличное решение !
|
|
|
|
krutoff
|
| |
Пост N: 209
Зарегистрирован: 17.10.05
|
|
Отправлено: 06.12.21 17:58. Заголовок: h_windows.prg
Ситуация такая: в ONINIT формы хочу передать фокус конкретному контролу. Если окно MODAL -> все Ok, если CHILD -> то фокус всегда на 1-м контроле. Раскопал: h_windows.prg строка 1536 -> этот блок всегда возвращает взад (на 1-й контрол): IF _SetFocusedSplitChild( i ) == .F. _SetActivationFocus( i ) ENDIF В модальном окне (строка 1513 ....) такого блока нет и поэтому SetFocus в ONINIT отрабатывает. Закоментировал этот блок - и все Ok. Можно ли блок удалить (строка 1536) ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3967
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 18:05. Заголовок: krutoff попробуйте ..
krutoff попробуйте SET OOP ON ... DEFINE WINDOW ... TOPMOST ; ON INIT ( This.Topmost := .F., _wPost(0) ) ... (This.Object):Event( 0, {|| This.<контрол>.SetFocus } ) ...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3968
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 19:04. Заголовок: gfilatov2002 Как то..
gfilatov2002 Как то не закончено с new ф-ями: GetDesktopRealTop() GetDesktopRealLeft() GetDesktopRealWidth() GetDesktopRealHeight() в однобайтной версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft() в unicode версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft(), GetDesktopRealWidth(), GetDesktopRealHeight() Пример unicode https://TransFiles.ru/imyut запуск с параметром Mode : demo.exe 1 demo.exe 2 demo.exe 3 demo.exe Использование новых ф-ий лучше чем Sys.ClientWidth и Sys.ClientHeight
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1733
Зарегистрирован: 09.10.06
|
|
Отправлено: 06.12.21 21:01. Заголовок: SergKis пишет: в од..
SergKis пишет: цитата: | в однобайтной версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft() |
| А так ли они нужны? SergKis пишет: цитата: | Использование новых ф-ий лучше чем Sys.ClientWidth и Sys.ClientHeight |
| Чем?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1965
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.12.21 21:13. Заголовок: SergKis пишет: в од..
SergKis пишет: цитата: | в однобайтной версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft() |
| Уже добавил эти функции с использованием команды #xtranslate в заголовок hmg.ch
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3969
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 21:50. Заголовок: Петр пишет Чем? Дела..
Петр пишет Делаем в примере (остальные оставляем как есть) FUNCTION wRu866() ... IF App.Cargo:nMode > 0 This.Row := 0 //GetDesktopRealTop() This.Col := 0 //GetDesktopRealLeft() This.Width := Sys.ClientWidth //GetDesktopRealWidth() This.Height := Sys.ClientHeight //GetDesktopRealHeight() //This.Maximize ENDIF ... Запускаем demo.exe 1 У меня win10 pro 14" монитор справа и снизу ~15 pixel отступы, почти в ширину VScrollBar-а Запускаем demo.exe 2 или 3 Со всех сторон есть зазор ~ 2-3 pixel Наверно, так же как GetWindowRow(hwnd), GetWindowCol(hwnd) GetClientRow(hwnd), GetClientCol(hwnd) т.е. при их наличии, если вдруг, TaskBar окажется не внизу, то что то получим в результате
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1735
Зарегистрирован: 09.10.06
|
|
Отправлено: 06.12.21 22:10. Заголовок: Поюзайте MiniGUI\..
Поюзайте MiniGUI\SAMPLES\BASIC\Multi_Monitor несколько раз, каждый раз меняя позицию TaskBar. И свой пример попробуйте на системе с несколькими мониторами. SystemParametersInfo( SPI_GETWORKAREA..) работает с PRIMARY дисплеем.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 3970
Зарегистрирован: 17.02.12
|
|
Отправлено: 06.12.21 22:12. Заголовок: gfilatov2002 пишет У..
gfilatov2002 пишет Тут тоже надо поправить и добавить #translate <p:System,Sys>.ClientRow => #translate <p:System,Sys>.ClientCol => #translate <p:System,Sys>.ClientWidth => ( GetDesktopWidth () - GetBorderWidth () ) #translate <p:System,Sys>.ClientHeight => ( GetDesktopHeight() - GetBorderHeight() - GetTaskBarHeight() )
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1966
Зарегистрирован: 11.02.10
|
|
Отправлено: 06.12.21 22:47. Заголовок: SergKis пишет: Тут ..
SergKis пишет: цитата: | Тут тоже надо поправить и добавить |
| Сделал Благодарю за подсказку
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[см. все]
|
|