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


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




Пост N: 5434
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.07.17 15:28. Заголовок: SergKis - лучше напи..


SergKis - лучше напиши демонстрашку маленькую, тогда понятней будет для чего всё это затевается !
Только с комментариями на русском !

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




Пост N: 1599
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.07.17 16:14. Заголовок: Andrey пишет лучше н..


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


Вроде для чего и примеры, разъяснения все время даю. Выйдет версия посмотри примеры и перечитай написанное для начала.
Затевается для работы с окнами\контролами через посылку сообщений, как дополнение к тому что есть в hmg.

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




Пост N: 1148
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 20.07.17 22:15. Заголовок: SergKis пишет: CLAS..


SergKis пишет:

 цитата:
CLASS TStbData INHERIT TCnlData


Добавил предложенный класс в ядро библиотеки (с исправлением обнаруженных опечаток) и проверил его работу на простом примере:
Скрытый текст

Этот пример отработал нормально.
Благодарю за помощь

P.S. Еще, по-видимому, надо добавить обработчик ошибок в родительский класс TWndData:

 цитата:
ERROR HANDLER OnError( uParam1 )



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




Пост N: 1600
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.07.17 23:22. Заголовок: gfilatov2002 пишет n..


gfilatov2002 пишет
 цитата:
nY := GetWindowHeight( _HMG_aFormReBarHandle [ oWnd:Index ] )


Это возможный вариант, но красивее тогда как было
DEFINE SPLITBOX HANDLE hSplit
...
nY := GetWindowHeight(hSplit)
По поводу ERROR HANDLE ... пока не задумывался, но, наверно, надо.



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




Пост N: 1601
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.07.17 23:28. Заголовок: gfilatov2002 пишет n..


gfilatov2002 пишет
 цитата:
nH := This.ClientHeight - GetWindowHeight( oWnd:Stb:Handle ) - nY


Можно так
nH := This.ClientHeight - oWnd:Stb:Height - nY

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




Пост N: 1149
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.07.17 10:09. Заголовок: SergKis пишет: крас..


SergKis пишет:

 цитата:
красивее тогда как было


SergKis пишет:

 цитата:
Можно так


Благодарю за помощь!
Поправил, конечно...

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




Пост N: 1602
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.17 10:38. Заголовок: gfilatov2002 пишет P..


gfilatov2002 пишет
 цитата:
PUBLIC oWnd := ThisWindow.Object


Пожелания (названия переменных условны)
- для Main окна делать PUBLiC oMain := ThisWindow.Object
- для окна узел (имеет подчиненные окна) PUBLIC oForm := ThisWindow.Object
- для текущего окна PRIVATE oWnd := ThisWindow.Object
Тогда, все с текущего окна хорошо переносится на др. окна и в некоторых случаях,
подменив на время ссылку на объект в oWnd, можно выполнить что то общее с др. окна,
при наличии нескольких окон одновременно, легко окнам общаться сообщениями,
oMain всегда доступно, т.е. для примера
PUBL oMain := ThisWindow.Object
PRIV oWnd := oMain


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




Пост N: 1603
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.07.17 10:50. Заголовок: PS PUBLIC oForm := T..


PS
PUBLIC oForm := ThisWindow.Object
можно делать и PRIVATE ..., к примеру
PRIV oDokum := ThisWindow.Object
PRIV oKlient := ThisWindow.Object
...

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




Пост N: 1150
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.07.17 11:09. Заголовок: SergKis пишет: для..


SergKis пишет:

 цитата:
для примера
PUBL oMain := ThisWindow.Object
PRIV oWnd := oMain


Благодарю за пояснение!
Поправил пример с учетом этой логики

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




Пост N: 1606
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.17 18:20. Заголовок: gfilatov2002 Предло..


gfilatov2002
Предложение по GetBox, добавить события LDblClick и WM_KEYDOWN VK_F...
Изменения Скрытый текст



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




Пост N: 1607
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.17 18:23. Заголовок: PS пока переносил по..


PS
пока переносил потерял
 
METHOD DoKeyEvent( nKey ) CLASS Get
...
If ( n := AScan( ::aKeyEvent, {|a| a[1] == cKey } ) ) > 0
If HB_ISBLoCK( ::aKeyEvent[ n ][2] )
EVal( ::aKeyEvent[ n ][2], Self, nKey, cKey )
r := 1
EndIf
EndIf



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




Пост N: 1608
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.07.17 18:32. Заголовок: PS нашел у себя стар..


PS
нашел у себя старую ошибку (замену не делал, потому и не натыкался)
 
METHOD SetKeyEvent( nKey, bKey, lCtrl, lShift, lAlt ) CLASS Get
...
If ( n := AScan( ::aKeyEvent, {|a| a[1] == cKey } ) ) > 0
::aKeyEvent[ n ] := { cKey, bKey }
Else
AAdd( ::aKeyEvent, { cKey, bKey } )
EndIf


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




Пост N: 5435
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.07.17 21:39. Заголовок: SergKis пишет: цита..


SergKis пишет:
цитата:
Это надо при работе с ячейками и lEdit := .T.

gfilatov2002 пишет:

 цитата:

Понятно, я уже добавил этот переключатель



Т.е. можно делать так при настройке тсб :
oBrw:lNoKeyChar := .T.  // отключить edit от нажатия клавиш цифр\букв  

В какой версии этот переключатель есть ?


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




Пост N: 1151
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.07.17 13:00. Заголовок: Andrey пишет: В как..


Andrey пишет:

 цитата:
В какой версии этот переключатель


В новой, которая выйдет на следующей неделе

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




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


SergKis пишет:

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


Благодарю за Ваше предложение - все работает
Также интересует добавить выделение текста GetBox при нажатии и удержании клавиши Shift вместе со стрелками влево/вправо

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




Пост N: 1609
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 23.07.17 14:30. Заголовок: gfilatov2002 пишет Т..


gfilatov2002 пишет
 цитата:
Также интересует добавить выделение текста GetBox при нажатии и удержании клавиши Shift вместе со стрелками влево/вправо


Еще интересует LDblClick на GetBox в состоянии ReadOnly, но я пока плохо знаю систему get в hb3.2, надо изучать (в hb2.0 иначе)

 цитата:
все работает


Надо иметь ввиду, что в блоке кода (в предложении) НЕ создается среда _HMG_This... контрола, т.к. в классе GET нет переменной Index, связывать с _DoControlEventProcedure ( bBlock, i, ... ) я не стал, т.к. сам использую блоки кода для сообщений.

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




Пост N: 5438
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.17 16:29. Заголовок: Перешёл на версию 17..


Перешёл на версию 17.06 (Update 2)
Выдаёт теперь ошибку:
Error: Unresolved external '_HB_FUN__SETGETUSERDATA' referenced from W:\HB_PROJECT\4PRJ\
Error: Unresolved external '_HB_FUN__SETCONTROLACTION' referenced from W:\HB_PROJECT\4PRJ\

Как исправить ?

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




Пост N: 1153
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 23.07.17 16:40. Заголовок: Andrey пишет: Как и..


Andrey пишет:

 цитата:
Как исправить ?



 цитата:
_SetGetUserData (cObject, cForm, cObject) // Cargo


эквивалентно

 цитата:
SetProperty (cForm, cObject, 'Cargo', cObject)



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




Пост N: 5439
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.07.17 16:41. Заголовок: А эту функцию - _SET..


А эту функцию - _SETCONTROLACTION как исправить ?
_SetControlAction(cObj, cForm, bBlock , 'ONLOSTFOCUS' )

И вот это как исправить _SetGetUserData(cObjDop, cForm, .F. ) ?
Правильно или нет - SetProperty (cForm, cObjDop, 'Cargo', .F.) ?

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




Пост N: 1611
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 24.07.17 09:08. Заголовок: gfilatov2002 Добавк..


gfilatov2002
Добавка к классам Скрытый текст

Использование
oGet := (This.Get_1.Object):Get
(This.Get_1.Object):Get:SetKeyEvent(VK_F5, {|og| ... })
(This.Get_1.Object):Get:SetKeyEvent('LDblClick', {|og| ... })
в ACTION
(This.Object):Get:VarGet()
(This.Object):Get:VarPut(...)
...

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