On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
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;
- новые и обновленные старые примеры (как обычно ).




Спасибо: 5 
Профиль
Ответов - 300 , стр: 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 архив.

Спасибо: 0 
Профиль
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 ] )



Спасибо: 0 
Профиль
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

Но каждый раз таскать в примеры свою функцию не очень то и приятно.
Хотя она тоже не постоянно требуется.

Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 3950
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.11.21 19:13. Заголовок: Так я уже поставил и..


Так я уже поставил и пробую новую версию от сегодня
а есть еще каталоги со старой версией сборка, там свою строку версии получаем

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 7149
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.21 19:46. Заголовок: SergKis пишет: проб..


SergKis пишет:

 цитата:
пробую новую версию от сегодня


Опять недосмотрел ...

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 7150
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.21 11:00. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Опубликована новая сборка 21.11


Собрал свои проги. Полёт нормальный.

Обратите внимание на новый пример MiniGUI\SAMPLES\Advanced\Tsb_5Win

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1953
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 01.12.21 12:33. Заголовок: Andrey пишет: Полёт..


Andrey пишет:

 цитата:
Полёт нормальный


Благодарю за подтверждение

Спасибо: 0 
Профиль
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()

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 7151
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.21 17:34. Заголовок: SergKis пишет: Можн..


SergKis пишет:

 цитата:
Можно проще в свой ch (prg) файл добавить


Отличное решение !

Спасибо: 0 
Профиль
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) ?

Спасибо: 0 
Профиль
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 } )
...


Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 1733
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 21:01. Заголовок: SergKis пишет: в од..


SergKis пишет:

 цитата:
в однобайтной версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft()


А так ли они нужны?

SergKis пишет:

 цитата:
Использование новых ф-ий лучше чем Sys.ClientWidth и Sys.ClientHeight


Чем?

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1965
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.12.21 21:13. Заголовок: SergKis пишет: в од..


SergKis пишет:

 цитата:
в однобайтной версии hmg нет GetDesktopRealTop(), GetDesktopRealLeft()


Уже добавил эти функции с использованием команды #xtranslate в заголовок hmg.ch

Спасибо: 0 
Профиль
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 окажется не внизу, то что то получим в результате

Спасибо: 0 
Профиль
Петр
постоянный участник


Пост N: 1735
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.12.21 22:10. Заголовок: Поюзайте MiniGUI\..


Поюзайте MiniGUI\SAMPLES\BASIC\Multi_Monitor несколько раз, каждый раз меняя позицию TaskBar.
И свой пример попробуйте на системе с несколькими мониторами.
SystemParametersInfo( SPI_GETWORKAREA..) работает с PRIMARY дисплеем.

Спасибо: 0 
Профиль
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() )


Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1966
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 06.12.21 22:47. Заголовок: SergKis пишет: Тут ..


SergKis пишет:

 цитата:
Тут тоже надо поправить и добавить


Сделал
Благодарю за подсказку

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 300
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет