On-line: PSP, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
gfilatov
модератор




Пост N: 699
Зарегистрирован: 25.05.05
ссылка на сообщение  Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть V) (продолжение)


Начало темы находится здесь, а теперь

АНОНС * АНОНС * АНОНС * АНОНС * АНОНС

Готовится к опубликованию новая сборка №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 [только новые]


Andrey
постоянный участник




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


gfilatov2002 пишет:

 цитата:
Попробуй библиотеку по ссылке


Спасибо ! Но это времянка...
Нужен ключ какой то сделать. Одним нравиться без прыганья, другим наоборот.

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




Пост N: 858
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 02:26. Заголовок: Andrey пишет:Нужен к..


Andrey пишет:
 цитата:
Нужен ключ какой то сделать. Одним нравиться без прыганья, другим наоборот.


для прыганья можно ставить на колонку:
oBrw5:aColumns[2]:nHAlign := {|nCol,oBrw| If( nCol == oBrw:nColOrder, DT_LEFT, oBrw:aColumns[nCol]:nHAlign ) }
или
oBrw5:aColumns[2]:nHAlign := {|nCol,oBrw| If( nCol == oBrw:nColOrder, DT_LEFT, DT_CENTER ) }


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




Пост N: 4717
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.16 03:12. Заголовок: SergKis пишет: для ..


SergKis пишет:

 цитата:
для прыганья можно ставить на колонку:


То что надо ! Спасибо !

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




Пост N: 859
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 13:53. Заголовок: gfilatov2002 Для уп..


gfilatov2002
Для управления сортировкой колонок при ::lIsArr == .T. (включить\выключить) более простым способом (без bSetOrder) предлагаю использовать переменную колонки (TsColumn) lIndexCol, при работе с массивом она не используется, т.е. oCol:lIndexCol := .T.\.F. - сортируется\нет колонка. Изменения следующие:
 
METHOD SetOrder( nColumn, cPrefix, lDescend ) CLASS TSBrowse
...
ElseIf ::lIsArr
If nColumn <= Len( ::aArray[ 1 ] ) .and. oColumn:lIndexCol
::cOrderType := ValType( ::aArray[ ::nAt, nColumn ] )
...

METHOD New( cHeading, bData, cPicture, aColors, aAlign, nWidth, ;
lBitMap, lEdit, bValid, lNoLite, cOrder, cFooting, ;
bPrevEdit, bPostEdit, nEditMove, lFixLite, a3DLook, ;
bWhen, oBrw, cData, cWhen, cValid, cPrevEdit, cPostEdit, cMsg, cToolTip, lTotal, ;
lSpinner, bUp, bDown, bMin, bMax, cError, cSpcHeading,;
cDefData, cName , lIndexCol ) CLASS TSColumn
...
Default cHeading := "" , ;
...
cName := ""


If ! empty(oBrw) .and. oBrw:lIsArr // для работы по старому алгоритму - все колонки сортируются
lIndexCol := .T.
EndIf

..

выделенным добавки
тогда в программе можно колонкам без сортировки (массив) поставить oCol:lInexCol := .F.
попробовал на своей версии - сработало. Может что не учел ?


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




Пост N: 860
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 13:59. Заголовок: PS поравочка в после..


PS
поправочка в последнем добавлении If ...

::lIndexCol := .T.



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




Пост N: 884
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.16 15:56. Заголовок: SergKis пишет: пред..


SergKis пишет:

 цитата:
предлагаю использовать переменную колонки (TsColumn) lIndexCol


Принимается


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




Пост N: 863
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.02.16 19:51. Заголовок: gfilatov2002 пишет:П..


gfilatov2002 пишет:
 цитата:
Принимается


тогда можно добавить обработку lNoDescend (для одинаковости с ::lIsDbf == .T.)
 
ElseIf ::lIsArr
If nColumn <= Len( ::aArray[ 1 ] ) .and. oColumn:lIndexCol
::cOrderType := ValType( ::aArray[ ::nAt, nColumn ] )
//V90
If nColumn == ::nColOrder .or. Empty( oColumn:cOrder ) .or. oColumn:lDescend == Nil
If lDescend == Nil
lDescend := If( Empty( oColumn:cOrder ) .or. oColumn:lDescend == Nil, .F., ! oColumn:lDescend )
EndIf

If oColumn:lNoDescend
lDescend := .F.
EndIf

oColumn:lDescend := lDescend
::nColOrder := nColumn
...


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




Пост N: 885
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.16 21:10. Заголовок: SergKis пишет: можн..


SergKis пишет:

 цитата:
можно добавить обработку lNoDescend


OK

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




Пост N: 865
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.02.16 11:58. Заголовок: gfilatov2002 Правка..


gfilatov2002
Правка
 
METHOD DrawLine( xRow ) CLASS TSBrowse
...
было
( line 2913 )
If nJ == ::nColSel .and. ::uBmpSel != Nil .and. lSelected
uBmpCell := ::uBmpSel
nAlign := nMakeLong( LoWord( nAlign ), ::nAligBmp )
ElseIf oColumn:lBitMap .and. Valtype( uData ) == "N" .and. ! Empty( ::aBitMaps )
If uData > 0 .and. uData <= Len(::aBitMaps)
uBmpCell := ::aBitMaps[ uData ]
EndIf
nAlign := nMakeLong( oColumn:nAlign, oColumn:nAlign )
uData := ""
ElseIf Empty( cPicture )
uData := If( Valtype( uData ) != "C", cValToChar( uData ), uData )
Else
uData := If( uData == NIL, "", Transform( uData, cPicture ) )
EndIf
...
( line 2969 )
If lCheck
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 )}
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
ElseIf oColumn:lEmptyValToChar .and. empty(uData)
uData := ""

EndIf
...
стало
If nJ == ::nColSel .and. ::uBmpSel != Nil .and. lSelected
uBmpCell := ::uBmpSel
nAlign := nMakeLong( LoWord( nAlign ), ::nAligBmp )
ElseIf oColumn:lBitMap .and. Valtype( uData ) == "N" .and. ! Empty( ::aBitMaps )
If uData > 0 .and. uData <= Len(::aBitMaps)
uBmpCell := ::aBitMaps[ uData ]
EndIf
nAlign := nMakeLong( oColumn:nAlign, oColumn:nAlign )
uData := ""
ElseIf ! lCheck .and. oColumn:lEmptyValToChar .and. empty(uData)
uData := ""

ElseIf Empty( cPicture )
uData := If( Valtype( uData ) != "C", cValToChar( uData ), uData )
Else
uData := If( uData == NIL, "", Transform( uData, cPicture ) )
EndIf
...
If lCheck
Default ::aCheck := { StockBmp( 6 ), StockBmp( 7 )}
hBitMap := ::aCheck[ If( Upper( uData ) == "T", 1, 2 ) ]
nAlign := nMakeLong( DT_CENTER, DT_CENTER )
uData := ""
EndIf
...

METHOD DrawSelect( xRow ) CLASS TSBrowse
...
было
( line 3227 )
If nJ == ::nColSel .and. ::uBmpSel != Nil .and. lSelected
uBmpCell := ::uBmpSel
nAlign := nMakeLong( LoWord( nAlign ), ::nAligBmp )
ElseIf oColumn:lBitMap .and. Valtype( uData ) == "N" .and. ! Empty( ::aBitMaps )
If uData > 0 .and. uData <= Len(::aBitMaps)
uBmpCell := ::aBitMaps[ uData ]
nAlign := nMakeLong( LoWord( nAlign ), nAlign )
uData := ""
EndIf
ElseIf Empty( cPicture )
uData := If( Valtype( uData ) != "C", cValToChar( uData ), uData )
Else
uData := If( uData == NIL, "", Transform( uData, cPicture ) )
EndIf
...
стало
If nJ == ::nColSel .and. ::uBmpSel != Nil .and. lSelected
uBmpCell := ::uBmpSel
nAlign := nMakeLong( LoWord( nAlign ), ::nAligBmp )
ElseIf oColumn:lBitMap .and. Valtype( uData ) == "N" .and. ! Empty( ::aBitMaps )
If uData > 0 .and. uData <= Len(::aBitMaps)
uBmpCell := ::aBitMaps[ uData ]
nAlign := nMakeLong( LoWord( nAlign ), nAlign )
uData := ""
EndIf
ElseIf ! lCheck .and. oColumn:lEmptyValToChar .and. empty(uData)
uData := ""

ElseIf Empty( cPicture )
uData := If( Valtype( uData ) != "C", cValToChar( uData ), uData )
Else
uData := If( uData == NIL, "", Transform( uData, cPicture ) )
EndIf


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




Пост N: 888
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 26.02.16 13:29. Заголовок: SergKis Благодарю з..


SergKis
Благодарю за поправки, уже сделал эти исправления
Но хотелось бы получить также небольшое пояснение по этому поводу

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




Пост N: 866
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.02.16 14:55. Заголовок: gfilatov2002 пишет:п..


gfilatov2002 пишет:
 цитата:
пояснение по этому поводу


начал делать реальную задачу, получилось nValToChar отрабатывала раньше по тексту и для числа пустого уже uData =='0.00', т.е алгоритм не работал, потому перенес выше по тексту (исключив lCheck==.T.), а в DrawSelect обработка пропущена и в строке с курсором lEmptyValToChar совсем не работал

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




Пост N: 889
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 26.02.16 15:09. Заголовок: SergKis пишет: нача..


SergKis пишет:

 цитата:
начал делать реальную задачу


Благодарю за разъяснение, желаю успеха в Ваших делах

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



Пост N: 12
Зарегистрирован: 22.09.13
ссылка на сообщение  Отправлено: 29.02.16 16:39. Заголовок: Всем доброго здравия..


Всем доброго здравия!
Скажите, а IDE никак не прикручивается к 64 разрядной версии?
Или здесь он не катит, нужен другой?

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




Пост N: 892
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.03.16 13:10. Заголовок: Просто к сведению. В..


Просто к сведению. Выпустил сегодня очередную бета-версию для новой сборки библиотеки.
Полный список изменений см. ниже
Скрытый текст

Поздравляю всех женщин (-программистов) на форуме с наступающим


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




Пост N: 885
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.03.16 15:34. Заголовок: gfilatov2002 доделе..


gfilatov2002
доделел ToolTip на TsBrowse.
1. Работает на всех колонках, строках с индикацией смены nRow, nCol мышой
2. убрал STATIC nToolTip, lToolTip, hToolTip, перенеся их в класс TSB
3. можно задавать ToolTiip так:
oBrw:cToolTip := {|oBr,nCol,nRow| "My TBrowse tooltip. Col ="+str(nCol,3)+" Row ="+str(oBr:nRow,3) }
aEval(oBrw:aColumns, {|oCol| oCol:cToolTip := {|oBr,nCol,nRow| "My column tooltip. Col ="+str(nCol,3)+" Row ="+str(oBr:nRow,3) } })
Изменения: Скрытый текст


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




Пост N: 4762
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.03.16 18:27. Заголовок: SergKis пишет: доде..


SergKis пишет:

 цитата:
доделел ToolTip на TsBrowse.


Классно !
Григорий, добавляй в новую версию !

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




Пост N: 893
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.03.16 18:30. Заголовок: Andrey пишет: добав..


Andrey пишет:

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


Уже добавил, обработка кодовых блоков в подсказках работает!
Благодарю за помощь

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




Пост N: 886
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.03.16 18:50. Заголовок: gfilatov2002 Еще к ..


gfilatov2002
Еще к ToolTip
 
c_controlmisc.c
HB_FUNC( SETTOOLTIP )
...
было
ti.lpszText = Text;
SendMessage( hWnd_ToolTip, ( UINT ) TTM_ADDTOOL, ( WPARAM ) 0, ( LPARAM ) &ti );

hb_retni( 0 );

стало
ti.lpszText = Text;
SendMessage( hWnd_ToolTip, ( UINT ) TTM_ADDTOOL, ( WPARAM ) 0, ( LPARAM ) &ti );

// Много строчно // (LPARAM)0xFFFFFF); Максимальная ширина очень большая
SendMessage( hWnd_ToolTip, ( UINT ) TTM_SETMAXTIPWIDTH, ( WPARAM ) 0, ( LPARAM ) 0x00FFFFFF );
hb_retni( 0 );



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




Пост N: 894
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.03.16 21:03. Заголовок: SergKis пишет: Еще ..


SergKis пишет:

 цитата:
Еще к ToolTip


Посмотрите команду

 цитата:
SET TOOLTIP MAXWIDTH TO <w> OF <form>



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




Пост N: 887
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.03.16 21:36. Заголовок: gfilatov2002 пишет:П..


gfilatov2002 пишет:
 цитата:
Посмотрите команду


команды в ch файле упустил из вида

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