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


Dima
администратор




Пост N: 6397
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.04.17 14:47. Заголовок: SergKis пишет: Това..


SergKis пишет:

 цитата:
Товарищ по работе так предлагает InKeyGUI


Чем такой варик лучше ?

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




Пост N: 1431
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.04.17 15:07. Заголовок: Dima пишет Чем такой..


Dima пишет
 цитата:
Чем такой варик лучше ?


При клике с inkeigui, цикл его разрывается, а клик передается туда где кликнул.
На примере Tsb_addrecord3 кл. F3 с предыдущими изменениями inkeygui, при клике на др. стр. тсб, просто уберет getbox с ShowGetValid сообщением и все (курсор тсб останется на той же строке), а после предлагаемых изменений, переключится на ту строку, где кликнули, т.е. более естественное поведение inkeygui на кликах мыши

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6398
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.04.17 15:16. Заголовок: SergKis пишет: т.е...


SergKis пишет:

 цитата:
т.е. более естественное поведение inkeygui на кликах мыши




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


Пост N: 1451
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 30.04.17 22:36. Заголовок: SergKis пишет: Тов..


SergKis пишет:

 цитата:
Товарищ по работе так предлагает InKeyGUI


Окультуренная версия

 цитата:
 
#include "inkey.ch"
extern void hmg_ErrorExit( LPCTSTR lpMessage, DWORD dwError, BOOL bExit );

#ifndef USER_TIMER_MINIMUM
#define USER_TIMER_MINIMUM 0x0000000A
#define USER_TIMER_MAXIMUM 0x7FFFFFFF
#endif
HB_FUNC( INKEYGUI )
{
UINT uElapse = hb_parnidef( 1, USER_TIMER_MINIMUM );
UINT_PTR uTimer;
MSG Msg;
BOOL bRet, bBreak = FALSE;
UINT uRet = 0;

if( uElapse == 0 )
uElapse = USER_TIMER_MAXIMUM;

uTimer = SetTimer( NULL, 0, uElapse, NULL );

while( ( bRet = GetMessage( &Msg, NULL, 0, 0 ) ) != 0 )
{
if( bRet == -1 )
{
// handle the error and possibly exit
hmg_ErrorExit( TEXT( "INKEYGUI" ), 0, TRUE );
}
else
{
switch( Msg.message )
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
bBreak = TRUE;
uRet = Msg.wParam;
break;
case WM_TIMER:
bBreak = ( Msg.wParam == uTimer );
break;
case WM_LBUTTONDOWN:
case WM_RBUTTONDOWN:
bBreak = TRUE;
uRet = ( Msg.message == WM_LBUTTONDOWN ) ? K_LBUTTONDOWN : K_RBUTTONDOWN;
PostMessage( Msg.hwnd, Msg.message, Msg.wParam, Msg.lParam );
break;
}
}

if( bBreak )
{
KillTimer( NULL, uTimer );
break;
}
else
{
TranslateMessage( &Msg ); // Translates virtual key codes
DispatchMessage( &Msg ); // Dispatches message to window
}
}

hb_retns( uRet );
}



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




Пост N: 1432
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.04.17 23:02. Заголовок: Петр :sm36: Дадуда..


Петр
Дадуда
 цитата:
Даду внедрёж. Окультуриваться надо. Вы со мной согласны. Окультуриваться надо.



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




Пост N: 5395
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.05.17 00:32. Заголовок: Helper Minigui - пос..


Helper Minigui - последняя версия.

Ищу по указателю: Label - показывает @...CHECKLABEL DEFINE CHECKLABEL

Так должно быть ?

Смотрю там даже два Label.... и два ListBox....
Очепятка наверное...

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





Пост N: 43
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 22.05.17 07:17. Заголовок: Andrey пишет: Helpe..


Andrey пишет:

 цитата:
Helper Minigui - последняя версия.



у меня тоже самое, а поиск с версии 16.07 вообще не работает (я кидал эту тему ранее) ...
Беда с Helper ....

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




Пост N: 1100
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.05.17 09:48. Заголовок: Опубликована очередн..


Опубликована очередная сборка 17.05 для следующих С-компиляторов:

- BCC 5.51 (Harbour и xHarbour)

- BCC 10.1 (только Harbour)

Базовый дистрибутив для BCC 5.5.1 и компилятора Harbour 3.2 лежит по адресу

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

Прямые ссылки на другие дистрибутивы есть на домашней странице библиотеки

Под заказ возможно сделать сборки для таких дополнительных С-компиляторов:

- MinGW 7.1.0 32-bit и Harbour 3.4.0dev;

- MinGW 7.1.0 64-bit и Harbour 3.4.0dev;

- MS VisualC 2015 32-bit and Harbour 3.2.0dev;

- MS VisualC 2017 32-bit and Harbour 3.2.0dev;

- PellesC 8.0 32-bit и xHarbour 1.2.3 build 10194.

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

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




Пост N: 1467
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 29.05.17 19:25. Заголовок: gfilatov2002 Когда ..


gfilatov2002
Когда то, давно, предлагал добавить на окно, по аналогии с контролами (_HMG_aControlMiscData1, _HMG_aControlMiscData2)
_HMG_aFormMiscData1 - для внутренних штучек окна
_HMG_aFormMiscData2 - для Cargo окна
предлагаю вернуться к этому вопросу, т.к. без такой добавки затруднено наращивание функционала окна. Т.е.
i_var.ch
 
#define _HMG_SYSDATA_SIZE 447 // было 445
...
#xtranslate _HMG_aScrollStep => _HMG_SYSDATA\[445\]
#xtranslate _HMG_aFormMiscData1 => _HMG_SYSDATA\[446\]
#xtranslate _HMG_aFormMiscData2 => _HMG_SYSDATA\[447\]

h_init.prg
...
_HMG_aFormMiscData1 := {}
_HMG_aFormMiscData2 := {}
...
h_dialog.prg
line 217
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 273
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 598
_HMG_aFormMiscData1 [ i ] := {}
_HMG_aFormMiscData2 [ i ] := ''

h_events.prg
line 3271
_HMG_aFormMiscData1 [ i ] := {}
_HMG_aFormMiscData2 [ i ] := ''

h_folder.prg
line 237
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 293
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 483
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 539
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 905
_HMG_aFormMiscData1 [ i ] := {}
_HMG_aFormMiscData2 [ i ] := ''

h_windows.prg
line 356
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 414
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 621
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 678
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 857
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 914
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

h_windowsMDI.prg
line 277
_HMG_aFormMiscData1 [ i ] := {}
_HMG_aFormMiscData2 [ i ] := ''

line 426
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 483
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

h_PropSheet.prg
line 379
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 432
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 613
_HMG_aFormMiscData1 [k] := {}
_HMG_aFormMiscData2 [k] := ''

line 666
aAdd( _HMG_aFormMiscData1, {} )
aAdd( _HMG_aFormMiscData2, '' )

line 1047
_HMG_aFormMiscData1 [ i ] := {}
_HMG_aFormMiscData2 [ i ] := ''

При наличии этих штучек, можно что то пробовать, к примеру аналог :UserKeys
_HMG_aFormMiscData1 в нашей версии уже задействована чуть - чуть.




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




Пост N: 1105
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.05.17 21:22. Заголовок: SergKis пишет: пре..


SergKis пишет:

 цитата:
предлагал добавить на окно, по аналогии с контролами


Благодарю за напоминание!

Добавил эти изменения для следующей сборки

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




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


gfilatov2002 пишет:

 цитата:
- MS VisualC 2015 32-bit and Harbour 3.2.0dev;

- MS VisualC 2017 32-bit and Harbour 3.2.0dev;



В чём разница между ними ?

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




Пост N: 1469
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.17 11:04. Заголовок: gfilatov2002 Кое чт..


gfilatov2002
Кое что набрал Скрытый текст


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




Пост N: 1106
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.05.17 13:43. Заголовок: SergKis пишет: Если..


SergKis пишет:

 цитата:
Если ставим _SetThisFormInfo( k ), то где снимать надо _PopEventInfo() ?


Вероятно, в функции _EndPropSheet() по аналогии с тем, как Вы это делаете в _EndDialog()

SergKis пишет:

 цитата:
Названия можно менять.


Думаю назвать этот класс WndClass (видел, что это имя использует Микрософт для определения класса окна)

P.S. Остановился на имени TWndData

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




Пост N: 1107
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.05.17 13:46. Заголовок: Andrey пишет: В чём..


Andrey пишет:

 цитата:
В чём разница между ними ?


MS VisualC 2017 вышла в марте этого года и содержит все последнии наработки MS в поддержке стандартов C++.
Но, по-видимому, для Харбора это не принципиально...

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


Пост N: 1489
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 30.05.17 17:13. Заголовок: SergKis пишет: CLAS..


SergKis пишет:

 цитата:
CLASS HmgWnd



Что даст применение этого класса?
Кроме возможности самовыразиться


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




Пост N: 1108
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.05.17 17:15. Заголовок: SergKis пишет: Кое ..


SergKis пишет:

 цитата:
Кое что набрал


Сделал следующие записи в текущий changelog файл:
  * New: Added the TWndData class for storing of form's data. 
There are the following access variables in the above class now:
- Index, Name, Handle, ParentHandle, Type, VarName;
- Title, Row, Col, Width, Height, ClientWidth, ClientHeight.
Usage:
oWin := _GetWindowObj( ThisWindow.Name )
MsgInfo( oWin:Title )
Suggested and contributed by SergKis.
* New: Added read/write the user defined property 'Cargo' for the Forms.
You can set/get this property at runtime:
- function syntax:
SetProperty ( Form, 'Cargo', xUserData )
GetProperty ( Form, 'Cargo' ) --> xUserData
- pseudo-OOP syntax:
Form.Cargo := xUserData
Form.Cargo --> xUserData
Sample code:
ThisWindow.Cargo := InputBox( 'Enter a form's title', 'New Title' )
ThisWindow.Title := ( ThisWindow.Cargo )
It was a postponed user's request.
Suggested and contributed by SergKis.

Вероятно, потребуется еще добавить пример использования Вашего класса.


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




Пост N: 1471
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.17 21:43. Заголовок: Петр пишет Что даст ..


Петр пишет
 цитата:
Что даст применение этого класса?


1. На его базе сделается аналог :UserKeys + возможно, удастся реализовать работу через Post\SendMessage
2. Получив объект, сразу имею доступ (без макросов) к его свойствам (короче писать), не
i := GetFormIndex(...)
_HMG_aFormNames[ i ]
_HMG_aFormHandles[ i ]
...
3. Класс в наборе (пока не рабочий как надо), просто застолбил 1 элемент - HMG_aFormMiscData1 [k]
4. Когда продолжу - не знаю, какое то время буду занят, т.е. его наличие в new версии не мешает, а территория помечена (это по поводу "самовыражения")


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




Пост N: 1472
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 30.05.17 21:55. Заголовок: gfilatov2002 пишет В..


gfilatov2002 пишет
 цитата:
Вероятно, потребуется еще добавить пример использования Вашего класса.


Дополнится пример с :UserKes, когда будет готово.

Пока ездил сегодня туда сюда, подумалось подправить
 
FUNCTION _GetWindowObj( cFormName )
Local i, o

If HB_ISCHAR( cFormName )
i := GetFormIndex( cFormName )
Else
i := Ascan( _HMG_aFormHandles, cFormName )
EndIf

If i > 0
o := _HMG_aFormMiscData1 [ i ][ 1 ]
EndIf

RETURN o


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




Пост N: 1109
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 30.05.17 22:10. Заголовок: SergKis пишет: Допо..


SergKis пишет:

 цитата:
Дополнится пример с :UserKes


Понял, спасибо

SergKis пишет:

 цитата:
FUNCTION _GetWindowObj( cFormName )


У меня сейчас эта функция выглядит так:
 
*-----------------------------------------------------------------------------*
FUNCTION _GetWindowObj( cFormName )
*-----------------------------------------------------------------------------*
LOCAL i := GetFormIndex( cFormName )

IF i > 0
RETURN _HMG_aFormMiscData1 [ i ][ 1 ]
ENDIF

RETURN NIL


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


Пост N: 1490
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 30.05.17 22:38. Заголовок: SergKis пишет: На е..


SergKis пишет:

 цитата:
На его базе сделается аналог :UserKeys + возможно, удастся реализовать работу через Post\SendMessage


Это можно организовать и без ООП.

Был уже в истории такой период "hmg objects", чем закончился - не знаю SergKis пишет:

 цитата:
просто застолбил 1 элемент - HMG_aFormMiscData1 [k]



Это можно сделать и изящнее, см.BASIC\WindowProperty
Тогда у вас будет быстрый доступ к данным как на C, так и на PRG уровнях.

Вы можете модифицировать стандартную оконную процедуру MiniGUI - WndProc.

К примеру, если message входит в диапазон WM_USER.., оконная процедура с помощью GetProp получает связанный обьект и выполняет нужный метод или просто вызывает процедуру/выполняет блок кода, функция Events в этом случае не вызывается.

И т.п. было бы желание разгуляться.


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