On-line: PSP, гостей 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 [только новые]


gfilatov2002
moderator




Пост N: 1239
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 17.02.18 20:30. Заголовок: SergKis пишет: Немн..


SergKis пишет:

 цитата:
Немного правок


Принимается.
Благодарю за помощь

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




Пост N: 1756
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.02.18 09:19. Заголовок: gfilatov2002 В прод..


gfilatov2002
В продолжение
 
CLASS TStbData INHERIT TCnlData
...
METHOD Enable ( lEnab ) INLINE ::oTBrowse:lEnabled := iif( HB_ISLOGICAL(lEnab), lEnab, ::oTBrowse:lEnabled )
METHOD Enabled ( lEnab ) INLINE ::oTBrowse:Enabled( lEnab )
METHOD Restore() INLINE ::oTBrowse:Show()
METHOD Show() INLINE ::oTBrowse:Show()
METHOD Hide() INLINE ::oTBrowse:Hide()
METHOD SetFocus() INLINE ::oTBrowse:SetFocus()

...
*-----------------------------------------------------------------------------*
Function _GetValue ( ControlName, ParentForm , Index )
*-----------------------------------------------------------------------------*
...
do case
#ifdef _TSBROWSE_
case T == "TBROWSE"
oGet := _HMG_aControlIds[ ix ]
retval := EVal( oGet:GetColumn( oGet:nCell ):bData )
#endif

#ifdef _DBFBROWSE_
...
*-----------------------------------------------------------------------------*
Function _SetValue ( ControlName, ParentForm, Value , Index, lSetGet )
*-----------------------------------------------------------------------------*
...
do case
#ifdef _TSBROWSE_
case T == "TBROWSE"
oGet := _HMG_aControlIds[ ix ]
EVal( oGet:GetColumn( oGet:nCell ):bData, Value )
#endif

#ifdef _DBFBROWSE_
...


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




Пост N: 1757
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.02.18 09:22. Заголовок: PS Не углядел лишний..


PS
Не углядел лишний параметр из своей либы (убрать)
Function _SetValue ( ControlName, ParentForm, Value , Index, lSetGet )

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




Пост N: 1758
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 18.02.18 09:26. Заголовок: PPS и класс не TStbD..


PPS
и класс не TStbData, а TTsbData
CLASS TTsbData INHERIT TCnlData


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




Пост N: 1240
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 18.02.18 21:35. Заголовок: SergKis пишет: В пр..


SergKis пишет:

 цитата:
В продолжение


Дополнил.
Благодарю за помощь

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




Пост N: 1759
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.18 00:01. Заголовок: Григорий, прошу прощ..


Григорий, прошу прощения, пропустил наследованные методы в TTsbata Disable(), Refresh()
 
вместо
METHOD Enable ( lEnab ) INLINE ::oTBrowse:lEnabled := iif( HB_ISLOGICAL(lEnab), lEnab, ::oTBrowse:lEnabled )
сделать
METHOD Enable () INLINE ::oTBrowse:lEnabled := .T.
добавить
METHOD Disable() INLINE ::oTBrowse:lEnabled := .F.
METHOD Refresh( lPaint ) INLINE ::oTBrowse:Refresh(lPaint)



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




Пост N: 1760
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.18 09:42. Заголовок: gfilatov2002 И еще ..


gfilatov2002
И еще
 
CLASS TWndData
...
METHOD Hide() INLINE _HideWindow ( ::cName )
METHOD SetSize( y, x, w, h ) INLINE _SetWindowSizePos( ::cName, y, x, w, h )

в TCnlData есть такой метод

в TSBROWSE добавил
METHOD GetValue( xCol ) INLINE ( xCol := hb_defaultValue(xCol, ::nCell), ;
EVal( ::GetColumn(xCol):bData ) )
METHOD SetValue( xCol, xVal ) INLINE ( xCol := hb_defaultValue(xCol, ::nCell), ;
EVal( ::GetColumn(xCol):bData, xVal ) )

надоело писать Eval


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




Пост N: 1761
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.18 09:50. Заголовок: PS Может методы назв..


PS
Может методы назвать надо было короче Get и Put, взял по аналогии с _GetValue и _SetValue

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




Пост N: 5729
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.18 11:41. Заголовок: SergKis пишет: Може..


SergKis пишет:

 цитата:
Может методы назвать надо было короче Get и Put, взял по аналогии с _GetValue и _SetValue



Лучше GetColumn() и PutColumn(xCol)

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




Пост N: 1241
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.18 12:18. Заголовок: SergKis пишет: проп..


SergKis пишет:

 цитата:
пропустил наследованные методы в TTsbata Disable(), Refresh()


Исправил и добавил все предложенные методы.

SergKis пишет:

 цитата:
Может методы назвать надо было короче


Полностью полагаюсь на Ваш вкус в этом вопросе.

Благодарю за Ваше внимание

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



Пост N: 28
Зарегистрирован: 19.10.05
ссылка на сообщение  Отправлено: 19.02.18 13:01. Заголовок: После перехода с вер..


После перехода с версии 17.11 на 17.12 ( и 18.01 ) изменилось поведение CHECKLABEL ( пример c:\MiniGUI\SAMPLES\BASIC\CheckLabel\ )

@ 200,30 CHECKLABEL Label_1 ;
WIDTH 200 HEIGHT 24 ;
VALUE 'Check Label_1 standard' ;
CHECKED ;
FONT 'Arial' SIZE 9 BACKCOLOR YELLOW ;
ON MOUSEHOVER Rc_Cursor( "MINIGUI_FINGER" ) ;
ONCLICK (MsgInfo(HB_VALTOSTR(Form_Main.Label_1.Value)), lChecked := Form_Main.Label_1.Checked, Form_Main.Label_1.Checked := !lChecked )

ранее выдавало значение Form_Main.Label_1.Value = 'Check Label_1 standard',
а теперь Form_Main.Label_1.Value = Form_Main.Label_1.Checked

Ну соответственно новое значение Form_Main.Label_1.Value не присваивается.

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




Пост N: 1242
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.18 13:16. Заголовок: Avf пишет: а теперь..


Avf пишет:

 цитата:
а теперь Form_Main.Label_1.Value = Form_Main.Label_1.Checked


Все верно

 цитата:
* Enhanced: CHECKLABEL control supports the optional 'Value' property as
synonym for the 'Checked' property.
You can set/get 'Value' property at runtime as usually.
Added a default action for 'On Click' event: it will switch a value
similar to the CheckBox control.
Suggested and contributed by Sergej Kiselev.



Avf пишет:

 цитата:
новое значение Form_Main.Label_1.Value не присваивается


Пробуйте

 цитата:
ONCLICK (Form_Main.Label_1.Caption:='New Value', lChecked := Form_Main.Label_1.Checked, Form_Main.Label_1.Checked := !lChecked )



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



Пост N: 29
Зарегистрирован: 19.10.05
ссылка на сообщение  Отправлено: 19.02.18 13:46. Заголовок: Спасибо, не посмотр..


Спасибо, не посмотрел изменения.


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




Пост N: 1764
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.02.18 17:14. Заголовок: gfilatov2002 Обнару..


gfilatov2002
Обнаружил, что GetControlHandle(...) возвращает массив Handle, вернее This.Spinner_Year.Handle, т.е.
GetProperty(cForm, 'Spinner_Year', 'Handle')
 
Тут сделано так:
*-----------------------------------------------------------------------------*
FUNC Do_OnCtlInit( i, cVar )
*-----------------------------------------------------------------------------*
LOCAL nCtlIndex := i
LOCAL cCtlName := _HMG_aControlNames[ i ]
LOCAL nHandle := iif( ISARRAY( _HMG_aControlHandles[ i ] ), ;
_HMG_aControlHandles[ i ][ 1 ], _HMG_aControlHandles[ i ] )

LOCAL nParent := _HMG_aControlParentHandles[ i ]
...
что то, нет ясности, где править GetControlHandle(...) или GetProperty(...) ?



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




Пост N: 1765
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.02.18 17:22. Заголовок: PS Это меня заклинил..


PS
Это меня заклинило\глюкнуло.
Надо знать про массив и где нужно делать руками This.Spinner_Year.Handle[1]



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




Пост N: 1766
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.02.18 14:59. Заголовок: gfilatov2002 Возмож..


gfilatov2002
Возможно, будет интересен пример SET OOP ON с event-ами. http://my-files.ru/ii331e
Работа с event-ами позволяет создавать This среду для контролов (для тсб тоже).
К примеру события 101, 102 вызываются и из меню 1.1, 1.2 ( This - окно ), а с кнопок Button_1, Button_2 This среда контролов.

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




Пост N: 1245
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 22.02.18 16:14. Заголовок: SergKis пишет: Возм..


SergKis пишет:

 цитата:
Возможно, будет интересен пример SET OOP ON с event-ами.


Да, этот пример будет интересен, как и все Ваши примеры использования ООП в Минигуи
Благодарю за внимание

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




Пост N: 1769
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.02.18 10:15. Заголовок: gfilatov2002 Лишние..


gfilatov2002
Лишние скобки надо убрать
 
METHOD Eval( Block ) CLASS TKeyData
...
IF b; Eval( Block, hb_HValueAt( ::aKey, i ), hb_HKeyAt( ::aKey, i ), i )
ELSEIF l; AAdd( a, { hb_HValueAt( ::aKey, i ) } )
ELSE ; AAdd( a, { hb_HValueAt( ::aKey, i ), hb_HKeyAt( ::aKey, i ), i } )
...
METHOD Eval( Block ) CLASS TThrData
...
If ::lMT
m := ::SGD( 4, i )
IF b; Eval( Block, m[ 2 ], m[ 1 ], i )
ELSEIF l; AAdd( a, { m[ 2 ] } )
ELSE ; AAdd( a, { m[ 2 ], m[ 1 ], i } )
ENDIF
ELSE
IF b; Eval( Block, hb_HValueAt( ::aKey, i ), hb_HKeyAt( ::aKey, i ), i )
ELSEIF l; AAdd( a, { hb_HValueAt( ::aKey, i ) } )
ELSE ; AAdd( a, { hb_HValueAt( ::aKey, i ), hb_HKeyAt( ::aKey, i ), i } )
ENDIF
ENDIF
...


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




Пост N: 1246
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.02.18 11:22. Заголовок: SergKis пишет: Лишн..


SergKis пишет:

 цитата:
Лишние скобки надо убрать


Убрал, конечно.
Благодарю за помощь

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




Пост N: 1248
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.02.18 10:53. Заголовок: Опубликована новая с..


Опубликована новая сборка 18.02 для BCC 5.51 для компиляторов Harbour и xHarbour

Базовый дистрибутив-инсталлятор находится по адресу

http://hmgextended.com/files/CONTRIB/hmg-18.02-setup.exe

Имеются в наличии также готовые сборки для следующих пар (Си-компилятор+Харбор):

- MinGW 7.2.0 32-bit для Harbour 3.2.0dev;

- MinGW 7.2.0 64-bit для Harbour 3.4.0dev;

- MS VisualC 2017 32-bit для Harbour 3.2.0dev;

- Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.2.0dev.

ссылки на которые будут доступны по Вашему запросу

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