On-line: Andrey, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
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 [только новые]


SergKis



Пост N: 2154
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 16:16. Заголовок: gfilatov2002 Поправ..


gfilatov2002
Поправил у себя в TsBrowse
 
METHOD SetNoHoles( nDelta, lSet ) CLASS TSBrowse

LOCAL nH, nK, nHeight, nHole

DEFAULT nDelta := 0, lSet := .T.

// nHole := ::nHeight - ::nHeightHead - ::nHeightSuper - ;
nHole := _GetClientRect( ::hWnd )[4] - ::nHeightHead - ::nHeightSuper - ;
::nHeightFoot - ::nHeightSpecHd - ;
If( ::lNoHScroll, 0, GetHScrollBarHeight() )
...

А то
METHOD nHeight() INLINE GetWindowHeight( ::hWnd )
дает не то

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




Пост N: 1404
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.12.18 20:59. Заголовок: SergKis пишет: Попр..


SergKis пишет:

 цитата:
Поправил у себя в TsBrowse

METHOD SetNoHoles


Благодарю за исправление!
Так, конечно, лучше...

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



Пост N: 2155
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.12.18 21:02. Заголовок: PS Может зря "за..


PS
Может зря "завелся" с :nHeight, но не глянулось изменение дырки в тсб после on resize (с изменениями).
До on resize была ~2-3 pixel, после убралась из за разницы алгоритмов высоты.
Процедура на on resize Скрытый текст


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




Пост N: 6144
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.12.18 15:09. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если хочешь разделить версии leto, переименуй свои
rddleto.ch -> rddleto2.ch
rddleto.lib -> rddleto2.lib
и подключай их


То что надо ! Спасибо !
Сделал rddleto_my.ch

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




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


gfilatov2002 пишет:

 цитата:
Два прохода для этого события решают также проблему перерисовки контролов, которая иногда возникает при быстром изменении размеров формы


Григорий, а тихое обновление версии 18.11 с учётом последних изменений можно сделать ?

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




Пост N: 1405
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 08.12.18 18:49. Заголовок: Andrey пишет: тихое..


Andrey пишет:

 цитата:
тихое обновление версии 18.11 с учётом последних изменений можно сделать ?


Да, сейчас готовлю update 1 для версии 18.11, который запланирован к выходу на следующей неделе...

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



Пост N: 2156
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.12.18 16:50. Заголовок: gfilatov2002 Измени..


gfilatov2002
Изменил в TsBrowse :SetNoHoles(...) с учетом исп. в ON SIZE Скрытый текст

Добавил метод OnResize(...), сейчас он работает "правильно" для тсб со всеми колонками помещающиеся на экран, но предлагаю включить (потом может модифицируем) Скрытый текст


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



Пост N: 2157
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.12.18 19:08. Заголовок: PS Погонял OnResize ..


PS
Погонял OnResize метод на _HMG_MouseState == 1 и изменение ширины колонки мышой, получилась добавка
 
METHOD OnReSize( nWidth, nHeight, lTop ) CLASS TSBrowse

LOCAL nCnt, aCol, nCol, oCol, nKfc, lRet := .F.
LOCAL nColMaxKfc := 0, nW, nS, nN
LOCAL nTop := iif( empty( lTop ), ::nTop, 0 )

IF _HMG_MouseState == 1

aCol := array(Len( ::aColumns ))
nW := _GetClientRect( ::hWnd )[3]

For nCol := 1 To Len( ::aColumns )
oCol := ::aColumns[ nCol ]
aCol[ nCol ] := 0
If nCol == 1 .and. ::lSelector; LOOP
ElseIf oCol:lBitMap ; LOOP
EndIf
aCol[ nCol ] := oCol:nWidth / nW
Next

::aOldParams[7] := AClone( aCol )

ELSEIF _HMG_MouseState == 0 .and. ISARRAY( ::aOldParams[7] )

aCol := ::aOldParams[7]
...


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



Пост N: 2158
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 09.12.18 19:34. Заголовок: PPS можно добавить в..


PPS
можно добавить в класс
DATA bOnResizeEnter
DATA bOnResizeExit
и сделать вызовы в OnResize(...)
 
...
::aOldParams[7] := AClone( aCol )

IF ISBLOCK( ::bOnResizeEnter )
EVal( ::bOnResizeEnter, Self )
ENDIF

ELSEIF _HMG_MouseState == 0 .and. ISARRAY( ::aOldParams[7] )

aCol := ::aOldParams[7]
...
::lEnabled := .T.

IF ISBLOCK( ::bOnResizeExit )
EVal( ::bOnResizeExit, Self )
ENDIF

::SetNoHoles()

ENDIF

Return lRet

возможно закроются хотелки

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




Пост N: 1407
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 09.12.18 22:43. Заголовок: SergKis пишет: возм..


SergKis пишет:

 цитата:
возможно закроются хотелки


Принято с благодарностью за Вашу помощь

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



Пост N: 2160
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.12.18 15:26. Заголовок: gfilatov2002 Может ..


gfilatov2002
Может поведение процедуры _HMG_aFormMaximizeProcedure [ i ] сделать одинаковым с процедурой на ON SIZE ?
 
//**********************************************************************
CASE WM_SIZE
//**********************************************************************
...
IF _HMG_MainActive == .T.

IF wParam == SIZE_MAXIMIZED

// _DoWindowEventProcedure ( _HMG_aFormMaximizeProcedure [ i ], i )

If ! Empty( _HMG_aFormMaximizeProcedure [ i ] )
If _HMG_AutoAdjust
_DoWindowEventProcedure ( _HMG_aFormMaximizeProcedure [ i ], i )
Else
_HMG_MouseState := 1
_DoWindowEventProcedure ( _HMG_aFormMaximizeProcedure [ i ], i )
_HMG_MouseState := 0
_DoWindowEventProcedure ( _HMG_aFormMaximizeProcedure [ i ], i )
EndIf
EndIf

IF _HMG_AutoAdjust .AND. _HMG_MainClientMDIHandle == 0
_Autoadjust( hWnd )
ENDIF
...


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




Пост N: 1408
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.12.18 15:51. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может поведение процедуры _HMG_aFormMaximizeProcedure [ i ] сделать одинаковым с процедурой на ON SIZE ?


Нет, на мой взгляд, этого не требуется, только усложняется логика обработки

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



Пост N: 2161
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.12.18 16:45. Заголовок: gfilatov2002 OK! не..


gfilatov2002
OK!
небольшая правка
 
METHOD OnReSize( nWidth, nHeight, lTop ) CLASS TSBrowse
LOCAL nCnt, aCol, nCol, oCol, nKfc, lRet := .F.
LOCAL nColMaxKfc := 0, nW, nS, nN
LOCAL nTop := iif( empty( lTop ), ::nTop, 0 )

IF Empty( nWidth )
nWidth := GetWindowWidth( ::hWnd )
ENDIF

IF Empty( nHeight )
nHeight := GetWindowHeight( ::hWnd )
lTop := .T.
nTop := 0
ENDIF

IF _HMG_MouseState == 1

aCol := array(Len( ::aColumns ))
nW := _GetClientRect( ::hWnd )[3]

If ! ::lNoVScroll .and. ::nLen > ::nRowCount()
nW -= GetVScrollBarWidth()
EndIf

For nCol := 1 To Len( ::aColumns )
...
ELSEIF _HMG_MouseState == 0 .and. ISARRAY( ::aOldParams[7] )
...
nW := _GetClientRect( ::hWnd )[3]
nN := nS := 0

If ! ::lNoVScroll .and. ::nLen > ::nRowCount()
nW -= GetVScrollBarWidth()
EndIf

For nCol := 1 To nCnt
...


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




Пост N: 1409
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.12.18 16:54. Заголовок: SergKis пишет: небо..


SergKis пишет:

 цитата:
небольшая правка


Благодарю за помощь

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



Пост N: 2162
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.12.18 16:57. Заголовок: PS Проверяю на Tsb_B..


PS
Проверяю на Tsb_Basic\demo4.prg
Изменения Скрытый текст

вроде, полет нормальный

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



Пост N: 2163
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.12.18 17:10. Заголовок: gfilatov2002 Это из..


gfilatov2002
Это изменение, не давал, пропустил
 
METHOD SetNoHoles( nDelta, lSet ) CLASS TSBrowse
...
If Empty( ::aOldParams )

::Display()

aRect := _GetClientRect( ::hWnd )

If ! ::lNoVScroll .and. ::nLen > ::nRowCount()
aRect[3] -= GetVScrollBarWidth()
EndIf

::aOldParams := array(7)
...
Else

If ::lEnabled
::lEnabled := .F.
EndIf

::Paint()
::lEnabled := .T.
::Refresh(.F.)

If ! ::lNoVScroll .and. ::nLen > ::nRowCount()
::ResetVScroll( .T. )
::oHScroll:SetRange( 0, 0 )
EndIf

EndIf
...


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




Пост N: 1410
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.12.18 18:27. Заголовок: SergKis пишет: Это ..


SergKis пишет:

 цитата:
Это изменение, не давал


Спасибо

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




Пост N: 1411
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.12.18 10:24. Заголовок: Обновил сборку 18.11..


Обновил сборку 18.11 (Update 1) с учетом последних исправлений в TsBrowse

Что нового:

 цитата:
* Enhanced: The optimized ON SIZE event detects now the mouse state.
You can use the variable _HMG_MouseState for accepting of
a left mouse button down (=1) or up (=0) state.
Suggested and contributed by Sergej Kiselev.
Revised by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \Utils\mgDBU)
* New: Added the Harbour HbCurl contrib library compiled with the latest
Curl and libcurl 32-bit package version 7.62.0 (30 Oct 2018).
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(look at ReadMe.txt in folder \harbour)
* Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG:
- added the new method OnReSize( nWidth, nHeight, lTop );
- the improved method SetNoHoles().
Contributed by SergKis
(see demo in folder \samples\Advanced\Tsb_Export)
* Updated: MySql library source code (see in folder \Source\HbMySql):
- added the new method affected_rows() in the class TMySQLQuery.
Contributed by Attila Szabo.
* Updated: 'Print Pie Graph' sample: the updated data for November 2018.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo.prg in folder \samples\Basic\GraphPrint)
* Updated: 'Internet Explorer ActiveX' sample:
- updated the events processing routine for proper 64-bit handling.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\ActiveX)
* Updated: 'HMG_HPDF library usage' sample.
Based upon a contribution of HMG user Edward.
Revised by Grigory Filatov <gfilatov@inbox.ru>
(see demo3.prg in folder \samples\Advanced\PDF_PRINT_3)



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




Пост N: 1413
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 20.12.18 13:34. Заголовок: Выпустил 2-е обновле..


Выпустил 2-е обновление для сборки 18.11

Что нового:

 цитата:
* Enhanced: Added the events support for ActiveX control.
Syntax:
@ <nRow>,<nCol> ACTIVEX <ControlName> ;
[ OF | PARENT <ParentWindowName> ] ;
WIDTH <nWidth> ;
HEIGHT <nWidth> ;
PROGID <cProgId> ;
[ EVENTMAP <aEvents> ] ;
[ CLIENTEDGE ]
Or
DEFINE ACTIVEX <ControlName>
<...>
EVENTMAP { { nEvent, [bAction | cFuncName] }, { ... } }
CLIENTEDGE .T.
END ACTIVEX

Requested by Carlos Vargas <cvargaz[at]donboscocorp.com>.
Based on a contribution of Oscar Lira <oscarlira78@hotmail.com>.
Revised by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \samples\Advanced\VLC)
* Modified: A StatusBar with KEYBOARD clause look was improved with using
of an ownerdraw color for the status items.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo in folder \Utils\mgDBU)
* Updated: Minor correction of StatusItem refresh at modifying of FontColor,
BackColor and Align properties at runtime.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see demo4.prg in folder \samples\Basic\Status)
* Updated: 'Internet Explorer ActiveX' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\ActiveX)
* Updated: 'My Player' sample is based upon the VLC ActiveX Control at
http://www.videolan.org/.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \samples\Advanced\VLC)
* Updated: 'MiniGUI DataBase Utility' sample.
Contributed by Grigory Filatov <gfilatov@inbox.ru>
(see in folder \Utils\mgDBU)



Спасибо: 1 
Профиль
alex_II



Пост N: 143
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 25.12.18 09:50. Заголовок: на версии 18.11 программа вылетает


Перешел с версии 18.08 сразу на 18.11, программа перестала работать.
Кусок исходника:

hSplBox := _DefineSplitBox('Form_main')
DEFINE TOOLBAR ToolBar_main BUTTONSIZE 24,24 FLAT
BUTTON But_LkObo PICTURE 'obo24' ACTION lookObo(sity->ls) DROPDOWN
...
END TOOLBAR
_EndSplitBox()

DEFINE DROPDOWN MENU BUTTON But_LkObo
ITEM 'Количество месяцев просмотра' ACTION numMes() IMAGE NIL
END MENU

Ошибка стала возникать при вызове DROPDOWN меню
Дело оказалось в строках, которые обрамляют TOOLBAR:

hSplBox := _DefineSplitBox('Form_main')
...
_EndSplitBox()

Если эти строки закоментировать, программа работает

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