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


Петр
постоянный участник


Пост N: 1228
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 03.08.16 22:40. Заголовок: Шаблон callback функции


Шаблон callback функции

Скрытый текст


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


Пост N: 1229
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 03.08.16 22:47. Заголовок: Если внешний harbour..


Если внешний harbour интерфейс сочтете удобным, то займусь дальшей реализацией С части.
Пожелания приветствуются сейчас - не люблю переделывать


Наброски (не проверялось компилятором - ошибки конечно присутствуют, но мысль, надеюсь, понятна )
Скрытый текст



 цитата:
[pre2] /* 16 PCWSTR pszVerificationText */
HB_TYPE hb_typ = hb_arrayGetType( pConfig, TDC_VERIFICATIONTEXT )

if ( ( hb_typ & HB_IT_STRING ) || ( hb_typ & HB_IT_NUMERIC ) )
{
tdc.pszVerificationText = ( PCWSTR ) ( ( hb_typ & HB_IT_STRING ) ? hb_arrayGetCPtr( pConfig, TDC_VERIFICATIONTEXT ) : MAKEINTRESOURCE( ( WORD ) hb_arrayGetNL( pConfig, TDC_VERIFICATIONTEXT ) ) );
}
else
{
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}




 цитата:
      /* 22 PFTASKDIALOGCALLBACK pfCallback */  
tdc.pfCallback = TDCallbackProc;

/* 23 LONG_PTR lpCallbackData */
if ( hb_arrayGetType( pConfig, TDC_CALLBACK ) & HB_IT_EVALITEM )
{

pCallbackData = hb_itemNew( hb_arrayGetItemPtr( pConfig, TDC_CALLBACK ) );
hb_gcUnlock( pCallbackData );

tdc.lpCallbackData = (LONG_PTR) pCallbackData;
}
else
{
hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
}


`

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




Пост N: 973
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 04.08.16 10:17. Заголовок: Петр пишет: Пожелан..


Петр пишет:

 цитата:
Пожелания приветствуются сейчас


Шаблон с благодарностью принимается

Желательно предусмотреть конвертацию строк в unicode формат, поскольку эта функция работает только в unicode формате.

 цитата:
hb_Translate( cWindowTitle, cCurrentCdp, "UTF8EX" )



Возможна ли обработка возврата функции типа такого

 цитата:
   IF xRet == NIL 
xRet := 0x80004005
ENDIF
IF ! ( xRet == 0x00000000 ) // 0x00000000 = success
cMess := ""
IF xRet == 0x8007000E // out of memory
cMess := "There is insufficient memory to complete the operation."
ELSEIF xRet == 0x80070057 // invalid argument(s)
cMess := "One or more arguments are not valid."
ELSEIF xRet == 0x80004005 // Unspecified failure
cMess := "Operation failed! (unknown reason)."
ENDIF

MsgExclamation( "Requested Icon : " + hb_ntos( nIcon ) + hb_eol() + ;
cMess + hb_eol() + ;
"TaskDialog responded : " + hb_ntos( xRet ) + "->" + MGM_GetWinErrorStr( xRet ) + hb_eol() + ;
"(non-existent ?) resource ID: " + hb_ntos( nError ) + hb_eol(), "TaskDialog" )
ENDIF



Используемые константы для файла-заголовка tdi.ch по типу
/* buttons */ 
#define TDCBF_OK_BUTTON 1 // 0x1
#define TDCBF_YES_BUTTON 2 // 0x2
#define TDCBF_NO_BUTTON 4 // 0x4
#define TDCBF_CANCEL_BUTTON 8 // 0x8
#define TDCBF_RETRY_BUTTON 16 // 0x10
#define TDCBF_CLOSE_BUTTON 32 // 0x20

/* button-click return values */
#define IDOK 1
#define IDCANCEL 2
#define IDABORT 3
#define IDRETRY 4
#define IDIGNORE 5
#define IDYES 6
#define IDNO 7
#define IDCLOSE 8

/* icons */
#define TD_NO_ICON 0 // No icon appears in the task dialog. This is the default.
#define TD_WARNING_ICON 65535 // An exclamation-point icon, along with warning sound.
#define TD_ERROR_ICON 65534 // A stop-sign icon, along with error sound.
#define TD_INFORMATION_ICON 65533 // An icon consisting of a lowercase letter `i` in a circle, along with info sound.
#define TD_SHIELD_ICON 65532 // A shield icon. NOTE: All shield icons have no sound!
#define TD_SHIELD_BLUE_ICON 65531 // A shield icon on a blue background.
#define TD_SHIELD_WARNING_ICON 65530 // An icon consisting of an exclamation-point in a shield. appears in yellow/orange background.
#define TD_SHIELD_ERROR_ICON 65529 // An icon consisting of a stop-sign in a shield. appears in red background.
#define TD_SHIELD_SUCCESS_ICON 65528 // An icon consisting of a tick-sign in a shield. appears in green background.
#define TD_SHIELD_BROWN_ICON 65527 // A shield icon on a brown background.
#define TD_QUESTION 99 // An icon consisting of a a question-mark in a circle, no sound!


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


Пост N: 1230
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 04.08.16 12:36. Заголовок: nResult := TaskDial..



 цитата:
nResult := TaskDialogIndirect( aConfig, @nButton, @nRadioButton, @lVerificationFlagChecked )  

/* TODO */



gfilatov2002 пишет:

 цитата:
Возможна ли обработка возврата функции типа такого



Вот на месте TODO и будет такой разбор nResult.



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


Пост N: 1233
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.08.16 09:06. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Используемые константы для файла-заголовка tdi.ch по типу


Спасибо,
Григорий, а вот этот фрагмент кода откуда, если не секрет.


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




Пост N: 974
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.16 11:26. Заголовок: Петр пишет: этот фр..


Петр пишет:

 цитата:
этот фрагмент кода откуда


Этот код взят из реализации функции TaskDialog() из поставки MiniguiM

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


Пост N: 1235
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.08.16 11:44. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
из поставки MiniguiM


Простите, а что это за поставка такая MiniguiM
Просто любопытно.

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




Пост N: 975
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.16 12:02. Заголовок: Петр пишет: что это..


Петр пишет:

 цитата:
что это за поставка такая MiniguiM


Лежит по адресу https://sourceforge.net/projects/hbpidew/

Один умный грек продвигает Minigui Ex на базе компилятора MinGW

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


Пост N: 1236
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 05.08.16 12:16. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Один умный грек продвигает Minigui Ex на базе компилятора MinGW



Спасибо, не знал, посмотрю, но уже после завершения работы над TaskDialogIndirect
Т.е. уже скоро.

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




Пост N: 5038
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.16 12:19. Заголовок: Григорий, посмотри п..


Григорий, посмотри пожалуйста Пост N: 5034 и Пост N: 1126

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




Пост N: 976
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.08.16 13:02. Заголовок: Andrey Любые дополн..


Andrey
Любые дополнения - уже не в этой сборке (работа над ней завершена)

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




Пост N: 5040
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.16 14:39. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Любые дополнения - уже не в этой сборке



Да мы не торопимся... Лишь бы потом было !

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




Пост N: 1139
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.08.16 14:11. Заголовок: gfilatov2002 Мелочь..


gfilatov2002
Мелочь (просто короче писать), но потом забуду (i_pseudofunc.ch)
 
#translate System.WindowsFolder => GetWindowsFolder()

#translate Folder.Desktop => GetDesktopFolder()
#translate Folder.MyDocuments => GetMyDocumentsFolder()
#translate Folder.ProgramFiles => GetProgramFilesFolder()
#translate Folder.System => GetSystemFolder()
#translate Folder.Temp => GetTempFolder()
#translate Folder.Windows => GetWindowsFolder()



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




Пост N: 1146
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.08.16 17:52. Заголовок: gfilatov2002 Понял,..


gfilatov2002
Понял, почему валится на child окне конструкция
 
DEFINE WINDOW wChild1
...
CHILD ;
...
nW := This.Width - GetBorderWidth()*2 - 2

тип окна child C, т.е. _HMG_ThisType равно C

FUNCTION _SetThisFormInfo ( i )
*-----------------------------------------------------------------------------*
#ifdef _HMG_COMPAT_
_HMG_LastActiveFormIndex := i
#endif
_PushEventInfo()

_HMG_ThisFormIndex := i
_HMG_ThisEventType := 'DEFINE_WINDOW'
_HMG_ThisType := _HMG_aFormType [ _HMG_ThisFormIndex ]
_HMG_ThisIndex := i
_HMG_ThisFormName := _HMG_aFormNames [ _HMG_ThisFormIndex ]
_HMG_ThisControlName := ""

RETURN NIL

в i_this.ch везде проверяется iif ( _HMG_THISType == 'C' , GetControlHandle (...) , GetFormHandle (...) ) и путается с контролом
в
PROCEDURE _ProcessInitProcedure( i )
...
_HMG_ThisType := 'W'
...
надо и в _SetThisFormInfo ( i ) тоже поставить
_HMG_ThisType := 'W'



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




Пост N: 977
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.08.16 19:32. Заголовок: SergKis пишет: надо..


SergKis пишет:

 цитата:
надо и в _SetThisFormInfo ( i ) тоже поставить
_HMG_ThisType := 'W'


Благодарю за помощь
Вы абсолютно правы! Поправлю ...

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


Пост N: 1237
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 07.08.16 23:26. Заголовок: В продолжении поста ..


В продолжении поста №1227




демка лежит здесь

Не все реализовано до конца (в основном из-за лени :)), но в принципе использовать можно уже сейчас.

UPD.

Добавлено
define TDC_MAINICON 7
TDC_FOOTERICON 20

Исправлено

 цитата:
radiobuttons.pszButtonText = HB_ARRAYGETSTR( button, 2, &hRadioButton[ iRadioButton++ ], NULL );




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




Пост N: 978
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 08.08.16 11:32. Заголовок: Петр Благодарю за в..


Петр
Благодарю за все Ваши усилия
Посмотрю демку вечером ...

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




Пост N: 979
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 08.08.16 11:38. Заголовок: Сегодня выпущен очер..


Сегодня выпущен очередной релиз библиотеки Minigui Ex.

Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:

http://hmgextended.com/files/CONTRIB/hmg-16.08-setup.zip

Также доступна сборка для компилятора MinGW32 по адресу:

http://hmgextended.com/files/CONTRIB/hmg1608-mingw.exe

и для компилятора MinGW64 по адресу:

http://hmgextended.com/files/CONTRIB/minigui64-1608.exe

и компактный архив для последней доступной версии компилятора xHarbour

http://hmgextended.com/files/CONTRIB/xhmg1608_xhb10156.zip

Выложил также первую рабочую сборку для BCC 10.1 по адресу:

http://hmgextended.com/files/CONTRIB/hmg1608_bcc101.zip

Дополнение к файлу changelog текщей сборки:

 цитата:
  * New: Added output of any information to an external file for debugging 
purposes with extremely easy syntax:
? <explist,...>
?? <explist,...>
?a <arr>
?v <arr>
Added the optional command SET LOGFILE TO <filename>.
Based upon a contribution of Russian user SergKis
(see demo in folder \samples\Basic\OptionBox)


Благодарю за Вашу поддержку



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




Пост N: 5043
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.08.16 12:52. Заголовок: Что-то две последние..


Что-то две последние ссылки не идут...
Page Not Found
The page you requested on hmgextended.com was not found.
You requested
http://hmgextended.com/files/CONTRIB/xhmg1608_xhb10151.zip
This request was referred from
http://clipper.borda.ru/?1-1-0-00000465-000-0-1-1470645530



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




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


Andrey пишет:

 цитата:
две последние ссылки не идут


Поправил ...

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