Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне
Кратко, что нового:
- исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
Отправлено: 15.12.15 16:47. Заголовок: Haz пишет: В качест..
Haz пишет:
цитата:
В качестве подтверждения - твой свежий вопрос по TSBrowse : - "Как поменять картинку в уже сформированной таблице ?" Ответ есть и в исходниках и даже в примерах .....
Я так и не нашёл... Сделал по другому... Если не сложно - ткни где это ?
Haz пишет:
цитата:
PS Притом мараторий же временный
Но если временный, то тогда ладно...
Haz
администратор
Пост N: 720
Зарегистрирован: 20.02.11
Отправлено: 15.12.15 16:51. Заголовок: Andrey пишет: Если ..
Andrey пишет:
цитата:
Если не сложно - ткни где это ?
в примере 3.5к размером Tsb_Cursor.prg в зависимости от условия If( oBrw:lDrawSelect ..... или рисуется или не рисуется . Вместо НЕ рисуется можно рисовать другую и по другому условию
Для справки: основные изменения в новой сборке были связаны с перелопачиванием всего Си-кода для 64-битной совместимости и исправлением небольших неточностей в PRG-коде ядра библиотеки. Ожидаю отчета о переходе на новую версию и от других пользователей...
Ожидаю отчета о переходе на новую версию и от других пользователей...
Пересобрал пару проектов , собираются без замечаний. Запускаются , работают. Все не тестировал, т.к. много , основное нормально пашет
gfilatov2002
moderator
Пост N: 869
Зарегистрирован: 11.02.10
Отправлено: 15.01.16 13:04. Заголовок: Просто к сведению. В..
Просто к сведению. Выпустил сегодня RC для очередной сборки библиотеки, которая выйдет на следующей неделе... Полный список изменений см. ниже Скрытый текст
* Modified: Using of the C-function hb_vmPushNumInt() instead of hb_vmPushLong() for proper 64-bit handling in the MiniGUI core. Based upon a workaround of Przemyslaw Czerpak <druzus/at/priv.onet.pl>. Contributed by Dr. Claudio Soto <srvet@adinet.com.uy>. * Updated: Modified the application manifest for compatibility with Windows 10. A manifest file is common now for 32- and 64-bit builds. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see Windows7.Manifest in folder \Resources) * Updated: HbSQLite3 library: - update for using a recent SQLITE3 version 3.10.0. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - Fixed: Correction of the editable status in the method KeyDown. Problem was reported by Dusko Radojcin. Based upon a contribution of Janusz Pora <januszpora@onet.eu>. * Updated: Harbour Compiler 3.2.0dev (SVN 2016-01-09 20:57): * New: added HBFOXPRO library (see in folder \Harbour\Lib); * New: added HBGZIO library (see in folder \Harbour\Lib); * Updated: OpenSSL wrapper for using 1.0.2e version. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.3.0 Project Manager and Two-Way Visual Form Designer: - fixed minor typo in the Image control definition. Bug was reported by Pete Dionysopoulos <pete_westg@yahoo.gr>. Contributed by Grigory Filatov <gfilatov@inbox.ru> * New: 'Vista Command Link Button' sample: - Command Link Button control was defined as user component below: @ <row>,<col> CLBUTTON <name> OF <parent> ; CAPTION <caption> NOTETEXT <notes> ; ACTION <action> [ <default: DEFAULT> ] - added pseudo-OOP method SetShield for showing of the Admin privilege requiring. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\CommandLink) * Updated: 'Print Pie Graph' sample: - updated the data for December 2015. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo.prg in folder \samples\Basic\GraphPrint) * Updated: 'NirCmd Dll Usage' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\NirCmdDll) * Updated: 'Volume Info' sample: - added a sample with using of the updated CallDll32 function. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo3.prg in folder \samples\Advanced\VOLUME_INFO) * Updated: 'Windows Version' sample: - fixed Windows 10 detection. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\WinVersion)
Также убрал статус beta у 64-битной сборки (вроде, нареканий не было либо никто не пробовал )
gfilatov2002
moderator
Пост N: 870
Зарегистрирован: 11.02.10
Отправлено: 21.01.16 11:19. Заголовок: Выпустил очередной р..
Выпустил очередной релиз библиотеки с исправлением обнаруженных неточностей кода.
Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:
* Updated: Modified the application manifest for compatibility with Windows 10. A manifest file is common now for 32- and 64-bit builds. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see Windows7.Manifest in folder \Resources)
Теперь программы собираются сразу для Windows7 и выше ?
Некорректно спросил. Имел в виду, что размеры форм, шрифта будет правильно отображаться в Win7 по Win10 и не наезжать друг на друга под разными системами. Я уже протестировал - всё классно получается ! Спасибо !
Andrey
постоянный участник
Пост N: 4665
Зарегистрирован: 12.09.06
Отправлено: 22.01.16 22:38. Заголовок: Читаю в MiniGUI.chm ..
Читаю в MiniGUI.chm "MiniGui 16 Extend" функции GetMyDocumentsFolder() и GetModuleFilename() Ставлю к себе в программу, не собирается: Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland Error: Unresolved external '_HB_FUN_GETMODULEFILENAME' referenced from ... Error: Unresolved external '_HB_FUN_GETMYDOKUMENTSFOLDER' referenced from ... hbmk2[IEntrepreneur]: Error: Running linker. 2
Поиск по всей папке MiniGUI не дал ничего ! Где эти функции ?
Уважаемый Григорий, наткнулся в примерах ... сбой в программах на фукции MsgMiniGuiError() ...
Например - Application: C:\MiniGUI\SAMPLES\BASIC\Histogram\demo.exe Date: 01/28/16 Time: 13:25:41 Time from start: 0 days 0 hours 0 mins 11 secs Error MGERROR/0 Control: Graph_Title Of Veamos Not defined. Program terminated.
Called from MSGMINIGUIERROR(94) Called from SETPROPERTY(3661) Called from ELGRAFICO(139) Called from (b)PRESENTA(4) Called from _PROCESSINITPROCEDURE(1511) Called from _ACTIVATEWINDOW(1363) Called from PRESENTA(52) Called from (b)MAIN(699) Called from _DOCONTROLEVENTPROCEDURE(1670) Called from EVENTS(1583) Called from DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(1388) Called from MAIN(24)
Описание этой фукции MsgMiniGuiError() выдачи наименования ошибки нигде не нашел ...
Описание этой фукции MsgMiniGuiError() выдачи наименования ошибки нигде не нашел ...
Плохо искал MiniGui\Source\h_error.prg
*-----------------------------------------------------------------------------* *-Date Created: 01-01-2003 *-Author: Antonio Novo <antonionovo@gmail.com> *-Modified by Grigory Filatov at 24-08-2014 *-----------------------------------------------------------------------------* FUNCTION MsgMiniGuiError( cMessage, lAddText ) *-----------------------------------------------------------------------------*
А в примере MiniGUI\SAMPLES\BASIC\Histogram\demo.exe ошибка происходит потому, что гистограмма пытается вывести заголовок (Title), который был удален руками из поля редактирования.
Alex_Cher
Пост N: 21
Зарегистрирован: 18.06.15
Отправлено: 02.02.16 13:02. Заголовок: ВНИМАНИЕ ВСЕМ кто пе..
ВНИМАНИЕ ВСЕМ кто перегнал свои проекты под последнюю сборку 16.01
Функция конвертации текстового файла в DBF работает не корректно -
append from _FailName.txt delimited with ","
Файл DBF получается с совершенной измененным записями не соответсвующими исходнику. Срочно перегнал проект под сборку 15.12 - работает нормально.
Теперь можно вместо oBrw:SetBtnGet( oBrw:nColumn("TEST"), "", { |oEdit, xVar| ....... } , 32 ) так oBrw:SetBtnGet( "TEST", "", { |oEdit, xVar| ....... } , 32 ) , что гораздо читабельнее
SergKis Для отключения сортировки колонок есть переменная lNoChangeOrd в классе TSBrowse
SergKis
постоянный участник
Пост N: 848
Зарегистрирован: 17.02.12
Отправлено: 10.02.16 13:16. Заголовок: gfilatov2002 Как я ..
gfilatov2002 Как я понял, флаг lNoChangeOrd - отменяет переключение ордеров при .T. вообще, а при .F. SetOrder(...) работает с переключением lDescend := .F.\.T. и если на теге dbf ключ по возрастанию, то обратную сортировку не отключить (в тек. версии), у меня не получилось. А что с постом 846 предыдущего листа. Там, на мой взгляд, ошибка, т.е. центрованный текст в шапке прыгает влево при SetOrder(...) на колонку, а nAlign определяется выше по тексту
gfilatov2002
moderator
Пост N: 876
Зарегистрирован: 11.02.10
Отправлено: 10.02.16 13:45. Заголовок: SergKis пишет: на м..
SergKis пишет:
цитата:
на мой взгляд, ошибка, т.е. центрованный текст в шапке прыгает влево
Благодарю за разъяснение! Действительно, при переключении сортировки игнорируется текущее выравнивание колонки (так - у автора библиотеки). Поправил для новой сборки
SergKis пишет:
цитата:
обратную сортировку не отключить (в тек. версии)
Да, все верно! Но, если обратная сортировка колонки пользователем не нужна, то тогда просто можно отменить сортировку, ведь остается только прямая сортировка Или я что-то упустил...
Если фильтр возвращает 0 записей , то в методе ::Reset() по ::GoTop() или ::GoBottom() игнорируется выполнение блока bChange. т.к. в исходниках при ::nLen < 1 сразу идет Return Self Но по сути ведь произошло перепозиционирование записи с какой то до фильтра, на Bof() или Eof() и по логике bChange должен сработать. У меня по bChange висит вывод комментария по текущей записи в окно и получаю что записей нет, а коммент остался. Мне не сложно после Reset выполнить Eval( oBrw:bChange ) , но есть ощущение что это не наш метод Решение Можно подправить методы ::GoTop() или ::GoBottom() чтобы перед Return Self вызывался bChange, но думаю проще это один раз сделать в ::Reset(). Тем более эта ситуация возникает только в случае когда явно этот ::Reset() требуется Предлагаю такую концовку метода ::Reset()
Отправлено: 11.02.16 12:45. Заголовок: Haz пишет: еще попр..
Haz пишет:
цитата:
еще поправочка в TSBrowse
Принято с благодарностью
gfilatov2002
moderator
Пост N: 879
Зарегистрирован: 11.02.10
Отправлено: 11.02.16 12:49. Заголовок: Просто к сведению. В..
Просто к сведению. Выпустил сегодня RC для очередной сборки библиотеки, которая выйдет на следующей неделе... Полный список изменений см. ниже Скрытый текст
* Fixed: The compilation of the MiniGUI core in the newer BCC versions (tested since 5.82 to 7.0). Problem was reported by Ivanil Marcelino <ivanil@linkbr.com.br>. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Fixed: CallDll library source code: - renamed CallDll32() to HMG_CallDLL() for avoiding of the names conflict with the function in the HbMisc contrib library. Note: This is an INCOMPATIBLE change. Problem was reported by Pete Dionysopoulos <pete_westg@yahoo.gr>. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \Source\CallDll). * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - added handling of the variable :lNoDescend from TSColumn class; - fixed header aligning at the switching of the column order. Contributed by SergKis. * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.11.0dev (from 3.10.0). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-02-10 17:17): * Fixed: APPEND FROM ... DELIMITED and APPEND FROM ... SDF bugs; * Updated: HbNetIO contrib library; (see readme.txt in folder \samples\Basic\NETIO\Server); * Updated: most important differences between Harbour and xHarbour (see xhb-diff.txt in folder \harbour\doc) Contributed by Przemyslaw Czerpak <druzus/at/priv.onet.pl> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.3.0 Project Manager and Two-Way Visual Form Designer: - correction of 'out of array range' error in the internal function cTypeOfControl(). Contributed by Grigory Filatov <gfilatov@inbox.ru> * New: 'Test Print a Plain Text File' sample. Based upon a contribution by Bicahi Esgici <esgici@gmail.com>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\MiniPrint_3) * New: 'Transfer Grid data to HTML file' sample. Based upon a contribution of S.Rathinagiri <srgiri@dataone.in>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\Grid2HTML) * New: 'SQLCipher usage' sample is based on SQLCipher encryption for SQLite (https://www.zetetic.net/sqlcipher). It is mingw32-based lib only. Based upon a contribution of S.Rathinagiri <srgiri@dataone.in>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\sqlcipher) * Updated: 'Vista Command Link Button' sample: - expanded syntax: @ <row>,<col> CLBUTTON <name> OF <parent> ; [ WIDTH <w> ] [ HEIGHT <h> ] ; CAPTION <caption> NOTETEXT <notes> ; ACTION <action> [ <default: DEFAULT> ] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\CommandLink) * Updated: 'HMGTALK Client' sample for using of the function CallDll32() from the Harbour hbmisc library. (see demo in folder \samples\Advanced\HMGTALK)
Кстати, мои результаты тестирования скорости текущей версии Харбора см. ниже Скрытый текст
2016.02.10 21:11:45 Windows 10 10.0.0 Harbour 3.2.0dev (r1602101617) Borland C++ 5.5.1 (32-bit) x86 THREADS: 0 N_LOOPS: 1000000 [ T000: empty loop overhead ]...................................0.05 ==================================================================== [ T001: x := L_C ]..............................................0.00 [ T002: x := L_N ]..............................................0.00 [ T003: x := L_D ]..............................................0.00 [ T004: x := S_C ]..............................................0.02 [ T005: x := S_N ]..............................................0.02 [ T006: x := S_D ]..............................................0.00 [ T007: x := M->M_C ]...........................................0.03 [ T008: x := M->M_N ]...........................................0.02 [ T009: x := M->M_D ]...........................................0.02 [ T010: x := M->P_C ]...........................................0.02 [ T011: x := M->P_N ]...........................................0.02 [ T012: x := M->P_D ]...........................................0.02 [ T013: x := F_C ]..............................................0.00 [ T014: x := F_N ]..............................................0.00 [ T015: x := F_D ]..............................................0.00 [ T016: x := o:Args ]...........................................0.08 [ T017: x := o[2] ].............................................0.06 [ T018: round( i / 1000, 2 ) ]..................................0.11 [ T019: str( i / 1000 ) ].......................................0.38 [ T020: val( s ) ]..............................................0.13 [ T021: val( a [ i % 16 + 1 ] ) ]...............................0.23 [ T022: dtos( d - i % 10000 ) ].................................0.27 [ T023: eval( { || i % 16 } ) ].................................0.19 [ T024: eval( bc := { || i % 16 } ) ]...........................0.13 [ T025: eval( { |x| x % 16 }, i ) ].............................0.16 [ T026: eval( bc := { |x| x % 16 }, i ) ].......................0.13 [ T027: eval( { |x| f1( x ) }, i ) ]............................0.20 [ T028: eval( bc := { |x| f1( x ) }, i ) ]......................0.19 [ T029: eval( bc := &("{ |x| f1( x ) }"), i ) ].................0.17 [ T030: x := &( "f1(" + str(i) + ")" ) ]........................1.36 [ T031: bc := &( "{|x|f1(x)}" ), eval( bc, i ) ]................1.81 [ T032: x := valtype( x ) + valtype( i ) ].....................0.22 [ T033: x := strzero( i % 100, 2 ) $ a[ i % 16 + 1 ] ]..........0.42 [ T034: x := a[ i % 16 + 1 ] == s ].............................0.16 [ T035: x := a[ i % 16 + 1 ] = s ]..............................0.19 [ T036: x := a[ i % 16 + 1 ] >= s ].............................0.19 [ T037: x := a[ i % 16 + 1 ] <= s ].............................0.19 [ T038: x := a[ i % 16 + 1 ] < s ]..............................0.19 [ T039: x := a[ i % 16 + 1 ] > s ]..............................0.19 [ T040: ascan( a, i % 16 ) ]....................................0.14 [ T041: ascan( a, { |x| x == i % 16 } ) ].......................1.58 [ T042: iif( i%1000==0, a:={}, ) , aadd(a,{i,1,.T.,s,s2,a2 ]....0.48 [ T043: x := a ]................................................0.00 [ T044: x := {} ]...............................................0.05 [ T045: f0() ]..................................................0.02 [ T046: f1( i ) ]...............................................0.05 [ T047: f2( c[1...8] ) ]........................................0.03 [ T048: f2( c[1...40000] ) ]....................................0.03 [ T049: f2( @c[1...40000] ) ]...................................0.02 [ T050: f2( @c[1...40000] ), c2 := c ]..........................0.05 [ T051: f3( a, a2, s, i, s2, bc, i, n, x ) ]....................0.22 [ T052: f2( a ) ]...............................................0.03 [ T053: x := f4() ].............................................0.48 [ T054: x := f5() ].............................................0.11 [ T055: x := space(16) ]........................................0.08 [ T056: f_prv( c ) ]............................................0.17 ==================================================================== [ total application time: ]....................................13.59 [ total real time: ]...........................................13.64
Благодарю за Ваше внимание и поддержку данного проекта
Andrey
постоянный участник
Пост N: 4715
Зарегистрирован: 12.09.06
Отправлено: 18.02.16 20:30. Заголовок: Перешёл на новую вер..
Перешёл на новую версию 16.02 и сразу же вопрос.
SergKis пишет:
цитата:
на мой взгляд, ошибка, т.е. центрованный текст в шапке прыгает влево
gfilatov2002 пишет:
цитата:
Благодарю за разъяснение! Действительно, при переключении сортировки игнорируется текущее выравнивание колонки (так - у автора библиотеки). Поправил для новой сборки
А как сделать по старому ?
gfilatov2002
moderator
Пост N: 883
Зарегистрирован: 11.02.10
Отправлено: 18.02.16 21:18. Заголовок: Andrey пишет: А как..
Отправлено: 18.02.16 21:29. Заголовок: Андрей пишет:А как с..
Андрей пишет:
цитата:
А как сделать по старому ? Чтобы текст шапки при переключении - прыгал влево ! Мне это больше нравится, т.к. значок стрелки вниз/вверх затирается текстом шапки.
Пощелкай на колонке FullPath и слово прыгнет влево, т.к. колонка широкая - выглядит такое мелькание ужасно, не проще подправить для узкой колонки сразу текст влево, не в центр, можно добавить к тексту слева пару пробелов.
Нужен ключ какой то сделать. Одним нравиться без прыганья, другим наоборот.
для прыганья можно ставить на колонку: 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 ) }
Andrey
постоянный участник
Пост N: 4717
Зарегистрирован: 12.09.06
Отправлено: 19.02.16 03:12. Заголовок: SergKis пишет: для ..
SergKis пишет:
цитата:
для прыганья можно ставить на колонку:
То что надо ! Спасибо !
SergKis
постоянный участник
Пост N: 859
Зарегистрирован: 17.02.12
Отправлено: 19.02.16 13:53. Заголовок: gfilatov2002 Для уп..
gfilatov2002 Для управления сортировкой колонок при ::lIsArr == .T. (включить\выключить) более простым способом (без bSetOrder) предлагаю использовать переменную колонки (TsColumn) lIndexCol, при работе с массивом она не используется, т.е. oCol:lIndexCol := .T.\.F. - сортируется\нет колонка. Изменения следующие:
If ! empty(oBrw) .and. oBrw:lIsArr // для работы по старому алгоритму - все колонки сортируются lIndexCol := .T. EndIf
..
выделенным добавки тогда в программе можно колонкам без сортировки (массив) поставить oCol:lInexCol := .F. попробовал на своей версии - сработало. Может что не учел ?
SergKis
постоянный участник
Пост N: 860
Зарегистрирован: 17.02.12
Отправлено: 19.02.16 13:59. Заголовок: PS поравочка в после..
начал делать реальную задачу, получилось nValToChar отрабатывала раньше по тексту и для числа пустого уже uData =='0.00', т.е алгоритм не работал, потому перенес выше по тексту (исключив lCheck==.T.), а в DrawSelect обработка пропущена и в строке с курсором lEmptyValToChar совсем не работал
Благодарю за разъяснение, желаю успеха в Ваших делах
fokinal21
Пост N: 12
Зарегистрирован: 22.09.13
Отправлено: 29.02.16 16:39. Заголовок: Всем доброго здравия..
Всем доброго здравия! Скажите, а IDE никак не прикручивается к 64 разрядной версии? Или здесь он не катит, нужен другой?
gfilatov2002
moderator
Пост N: 892
Зарегистрирован: 11.02.10
Отправлено: 04.03.16 13:10. Заголовок: Просто к сведению. В..
Просто к сведению. Выпустил сегодня очередную бета-версию для новой сборки библиотеки. Полный список изменений см. ниже Скрытый текст
* Fixed: The hack in the menu's C-code was guarded for applying at the tray menu closing only. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Modified: The constant _PUBLIC_RELEASE_ is turned ON by default in the header file include\minigui.ch instead of the constant _ZEROPUBLIC_. The internal Public variables will be released at window's and control's destruction. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Replacing the cycles 'For-Next' with 'For Each-Next' for improvement of the speed of the Tab pages updating. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - added a new class TCursor for proper processing of TBROWSE cursor which was defined by user for a whole control. Syntax: TCursor():New( cResCursorName [, cPredefinedCursorName ] ) where the predefined names are "ARROW", "IBEAM", "WAIT", "CROSS" etc. Sample code: oBrw:oCursor := TCursor():New( , "HAND" ) Contributed by Grigory Filatov <gfilatov@inbox.ru> - added handling of the column's order in the ARRAY mode with using of the TSColumn variable oCol:lIndexCol. Contributed by SergKis (see demo at Menu TSBrowse->'Grid form' in folder \samples\Advanced\TSBrowse) - added a new service method GetCellInfo( nRowPos, nCell, lColSpecHd ) Contributed by SergKis (see demo2.prg in folder \samples\Advanced\Tsb_array_2) * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.12.0dev (from 3.11.0). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-02-18 17:02): * Fixed: HbZipArc library source code to support the ASCII characters above 128 in the name of files (see in folder \Source\HbZipArc). Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.3.0 Project Manager and Two-Way Visual Form Designer. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look for what's new at changelog.txt in folder \Ide) * New: 'Minigui Modal Form Designer Utility' sample (spanish only). Contributed by Rafael Moran <webrmoran[at]yahool.com> Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \Utils\xForm) * New: 'Gregorian Calendar to Microsoft Excel through HMG OLE' sample. Contributed by Danny A. del Pilar <dhaine_adp@yahoo.com>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\GregorianCalendar) * Updated: 'Vista Command Link Button' sample: - added a write only property 'NoteText'. You can set this property at runtime: Win.CLbutton.NoteText := 'New Note' SetProperty( Form, Control, 'NoteText', 'New Note' ) Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\CommandLink) * Updated: 'SendMailReport Enhanced 1.5' sample. Contributed by Pierpaolo Martinello <pier.martinello[at]alice.it> (see in folder \samples\Applications\SendMailReport)
Поздравляю всех женщин (-программистов) на форуме с наступающим
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) } }) Изменения: Скрытый текст
IF ( nColums := Len(oBrw:aColumns) ) > 0 /* BK 18.05.2015 */ ...
///////////////////////////////////////// CLASS TSBrowse FROM TControl ... DATA cToolTip // tooltip when mouse is over Cells DATA hToolTip AS NUMERIC INIT 0 DATA nToolTip AS NUMERIC INIT 0 DATA nToolTipRow AS NUMERIC INIT 0 ... ///////////////////////////////////////// METHOD New( cControlName, nRow, nCol, nWidth, nHeight, bLine, aHeaders, aColSizes, cParentWnd, ; ... EndIf
METHOD Destroy() CLASS TSBrowse LOCAL i ... If Len(::aColumns) > 0 For i := 1 To Len(::aColumns) If Valtype(::aColumns[ i ]:aCheck) == "A" AEval(::aColumns[ i ]:aCheck, {|hBmp| If( empty(hBmp), , DeleteObject(hBmp) ) }) EndIf If Valtype(::aColumns[ i ]:aBitMaps) == "A" AEval(::aColumns[ i ]:aBitMaps, {|hBmp| If( empty(hBmp), , DeleteObject(hBmp) ) }) EndIf Next EndIf ...
SergKis
постоянный участник
Пост N: 889
Зарегистрирован: 17.02.12
Отправлено: 05.03.16 11:41. Заголовок: PS добавка в TSCOLUM..
If ::nFreeze > 0 .and. nOldPos < nNowPos .and. ::lLockFreeze // frozen col and going right nNowPos := nAbsCell lMove := ( nOldPos > ::nFreeze ) EndIf
If nOldPos < nNowPos // going right ...
сейчас при ::nFreeze := 7, ::nCell := 1, левый клик мыши на колонку < ::nFreze переключает фокус на колонку ::nFreeze, повторный клик ставит фокус на нужную колонку и так повторяется все время, добавка исправляет ситуацию
nLapsus оставил как статическую переменную (так - у автора )
но тогда нельзя наследовать класс - суть класса теряется
SergKis
постоянный участник
Пост N: 895
Зарегистрирован: 17.02.12
Отправлено: 10.03.16 13:58. Заголовок: PS имея на окне 4-е ..
PS имея на окне 4-е TSB METHOD Seek( nKey ) в каждом будет портить значение для другого, можно сказать, что значение не важное и каждые 3 сек. обновляется, но по сути ...
gfilatov2002 правка, снимающая некоторые вопросы высоты строк
было METHOD New( cControlName, nRow, nCol, nWidth, nHeight, bLine, aHeaders, aColSizes, cParentWnd,; ... If Valtype( ::oWnd:hWnd ) != 'U' ::Create(::cControlName) // т.к. ::hFont всегда NIL, то расчет высот происходит от 0, потом надо переустанавливать высоты. // ::hFont уст. в _DefineTsBrowse() после создания объекта
Благодарю за помощь! Это очень нужная поправка для учета высоты (и типа) шрифта, заданного при определении TBROWSE Для совместимости со старым кодом, чтобы не увеличивать высоту ячейки по умолчанию, сделал так:
Подтверждаю эту проблему, но предложенное решение создает другие проблемы с перерисовкой строк TBROWSE Поэтому лучше обойтись без прокрутки строк в MDI, чем создавать новые проблемы (вплоть до GPF) Либо надо искать другое решение для MDI
но предложенное решение создает другие проблемы с перерисовкой строк TBROWSE
Согласен, поэксперементировал и оставил только в DrawSelect (тоже не хорошо, но пока не находится место перекл.фокус с TSB на окно) If GetFocus() != hWnd SetFocus(hWnd) EndIf как следствие убрал из h_windowsMdi.prg, выделено цветом - вся обработка в Events(...). Мне надо несколько TSB на окне
FUNCTION MdiEvents ( hWnd, nMsg, wParam, lParam ) *-----------------------------------------------------------------------------* LOCAL i, x, ControlCount #ifdef _TSBROWSE_ LOCAL oGet #endif
Без решения главной проблемы - фокуса, несколько TSB на окне реализовать не получается. Убрал из DrawSelect вставку WM_MOUSEWHEL сделал так h_windowsMdi.prg
Function MdiEvents(...) ... #ifdef _TSBROWSE_ *********************************************************************** case nMsg == WM_KEYDOWN .OR. nMsg == WM_KEYUP
Благодарю за помощь - прокрутка строк TBROWSE в MDI дочерних окнах работает Планирую выпустить финальную сборку 16.03 на следующей неделе
Haz
администратор
Пост N: 830
Зарегистрирован: 20.02.11
Отправлено: 17.03.16 14:19. Заголовок: Григорий Есть еще п..
Григорий Есть еще предложение ... Как неоднократно тут вопрошал Андрей, при переключении между программами в Windows, если в программе на MiniGui последним активным было модальное окно , вызванное из дочернего, то такое модальное окно не получает фокус и программа уходит в вечное ожидание когда его закроют. Схематически вызовы такие MAIN->CHILD->MODAL , переключаем задачи и попадаем в CHILD ( MODAL не видно и на него не переключиться ).
Предлагаю очень простое решение: в модуле h_events.prg в обработку событий в функцию Events() , в событие WM_SETFOCUS добавить условие
Стало: IF _HMG_IsModalActive BringWindowToTop(_HMG_ActiveModalHandle) ELSE iif ( _HMG_aFormFocusedControl != 0 , setfocus ( _HMG_aFormFocusedControl ) , Nil ) END
Таким образом , при любой попытке дать фокус любому окну, если есть модальное , то фокус и топ на экране получит оно PS. После получения фокуса , к модальному можно еще и Flash добавить .... будет моргать совсем как по настоящему )
gfilatov2002
moderator
Пост N: 904
Зарегистрирован: 11.02.10
Отправлено: 17.03.16 15:35. Заголовок: Haz пишет: при любо..
Haz пишет:
цитата:
при любой попытке дать фокус любому окну, если есть модальное , то фокус и топ на экране получит оно
Неплохое предложение, хотя особого эффекта функция BringWindowToTop() у меня не дает (но и ничего не портит, похоже). Лучше работает другая функция WinAPI
но она является недокументированной и не рекомендуется к использованию, т.к. может быть исключена в любой новой Винде Благодарю за помощь, Ваше предложение принимается
Andrey
постоянный участник
Пост N: 4795
Зарегистрирован: 12.09.06
Отправлено: 17.03.16 17:58. Заголовок: Haz пишет: к модаль..
Haz пишет:
цитата:
к модальному можно еще и Flash добавить .... будет моргать совсем как по настоящему )
без этих изменений, не удерживался ::nRowPos (перепрыгивал на 1) и бывало не так, как надо перепоказ происходил Пример (на базе Tsb_addrecord): Скрытый текст
Благодарю за Ваше внимание и поддержку данного проекта
Haz
администратор
Пост N: 833
Зарегистрирован: 20.02.11
Отправлено: 22.03.16 15:12. Заголовок: Григорий , все же сл..
Григорий , все же следующий вариант работает более корректно ( у себя заменил на него )
//H_EVENTS.PRG _DoWindowEventProcedure ( _HMG_aFormGotFocusProcedure , i , 'WINDOW_GOTFOCUS' )
IF _HMG_IsModalActive BringWindowToTop(_HMG_ActiveModalHandle) if _HMG_aFormFocusedControl <> _HMG_ActiveModalHandle .and. _HMG_aFormType [ i ] <> "M" // Это нужно чтоб при вызове из модального окна - другого FlashWindowEx( _HMG_ActiveModalHandle , 1, 6, 50 ) // модального , старое не мограло end ELSE iif ( _HMG_aFormFocusedControl != 0 , setfocus ( _HMG_aFormFocusedControl ) , Nil ) END
Проверял работу новой версии вот на примере ниже , если после запуска теста на панели задач выбрать мышью другое приложение , а потом опять тест - НЕ ВСЕГДА попадаем в модал да и моргает не то окно ( в титле окон видно ). А если переключать не мышом, а альт+таб , то вроде нормик
#include "minigui.ch"
Function Main
DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI Main' ; MAIN ; ON INIT Child()
END WINDOW
Form_1.Activate
Return Nil
Func Child() Form_1.Hide DEFINE WINDOW Form_2 ; AT 100,100 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI Standard' ; WINDOWTYPE STANDARD ; ON INIT Modal()
END WINDOW
Form_2.Activate Form_1.Show
return nil
Func Modal() DEFINE WINDOW Form_3 ; AT 200,200 ; WIDTH 640 HEIGHT 480 ; TITLE 'MiniGUI Modal' ; MODAL
Сделал "тихий" апдейт сборки 16.03 с учетом этих поправок
Спасибо, в таком варианте все работает.
Softlog86
Пост N: 288
Зарегистрирован: 03.12.08
Отправлено: 23.03.16 15:01. Заголовок: Заметил небольшой ба..
Заметил небольшой баг . WINDOWS XP . Тема - "XP стандартная голубая" Контрол из MiniGui :FRAME Неправильно отображает цвета , указанные в FONTCOLOR ...... Пишу - WHITE - выводит вроде как зелёный :(
WINDOWS -7 . Тема "Классическая" -отображение правильное .
Это не ошибка. В классической теме под WinXP будет также отображение правильное Выводы о поведении Винды в разных темах делайте самостоятельно...
Softlog86
Пост N: 289
Зарегистрирован: 03.12.08
Отправлено: 23.03.16 22:45. Заголовок: просто другие контро..
просто другие контролы вырисовываются заданным цветом , а frame - почему-то по-своему . Чтоб ему еще прикрутить свойство NOXPSTYLE :) Посоветуйте как решить-то ? или тупо не использовать раскраску вовсе ? ругаются клиенты что ничего не видно . А предлагать им "сменить тему" ...... не так поймут .
Отправлено: 24.03.16 10:54. Заголовок: Спасибо за наводку ...
Спасибо за наводку .... Приму к сведению .....
sashaBG
постоянный участник
Пост N: 174
Зарегистрирован: 15.09.05
Отправлено: 24.03.16 11:29. Заголовок: У меня все Разморгалось в новой
У меня все Разморгалось с новой сборкой 16.03 :) Видимо потому что я пользуюсь только Модальными окнами . Причем в версии под MINGW имею Модальное окно которое моргает после того когда възвал и закрыл функцию MsgInfo() например. а в BCC наоборот сначало моргает MsgInfo() при показе а потом и основное Модальное окно из кторого функция бъла вызвана
Григорий есть способ ето откльчить ?
Haz
администратор
Пост N: 835
Зарегистрирован: 20.02.11
Отправлено: 24.03.16 14:58. Заголовок: sashaBG пишет: У ме..
sashaBG пишет:
цитата:
У меня все Разморгалось с новой сборкой 16.03 :
Есть такое. При нескольких модальный они перемигиваются Скорее всего дело в условии
if iswinnt() .AND. _HMG_aFormFocusedControl <> _HMG_ActiveModalHandle .and. _HMG_aFormType [ i ] <> "M"
т.е. мигает только если пытается получить фокус не то окно которое является последним открытым модальным, а какое то другое. При этом окно которое хочет получить фокус не является модальным. После этой правки вроде полегчало и моргает только по делу. Для отключения, можно флаг организовать в исходнике типа lModalBlink и моргать только если он выставлен в .T.
Отправлено: 13.04.16 12:47. Заголовок: Проблема с HBPrinter
Перепрыгнул с версии 15.12 сразу на 16.03 и обнаружил проблему: в окне предварительного просмотра печати перестали работать оба (горизонтальный и вертикальный) бегунка. При масштабировании можно просматривать только верхнюю левую часть листа.
gfilatov2002
moderator
Пост N: 925
Зарегистрирован: 11.02.10
Отправлено: 13.04.16 13:07. Заголовок: alex_II пишет: в ок..
alex_II пишет:
цитата:
в окне предварительного просмотра печати перестали работать оба (горизонтальный и вертикальный) бегунка.
Да, я подтверждаю эту проблему. Она уже исправлена в новой сборке 16.04, которая готовится сейчас к выпуску.
Но поскольку надо работать без ошибок уже "вчера", я сделал "тихое" обновление текущей версии по старому адресу:
* Fixed: The problem with the scrollbars handling in the virtual dimensioned Modal windows (introduced in the build 16.03). Reported by Vianei Moreira de Lemos <vianeimoreira@gmail.com>. Contributed by Grigory Filatov <gfilatov@inbox.ru> * New: Added a new method 'SetArray' for assigning of array to the following controls: ComboBox, Grid, ListBox at runtime: - function syntax: DoMethod ( Form, Control, 'SetArray', aNewValues ) - pseudo-OOP syntax: Form.Control.SetArray( LoadItems() ) Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo2.prg in folder \samples\Basic\COMBO_1) (see demo in folder \samples\Basic\Grid_5) (see demo in folder \samples\Basic\Listbox_3) * Enhanced: The standard ComboBox control supports a 'Refresh' method now: - function syntax: DoMethod ( Form, Control, 'Refresh' ) - pseudo-OOP syntax: Form.ComboBox.Refresh [()] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo2.prg in folder \samples\Basic\COMBO_1) * Enhanced: The MonthCal control supports now 'On GotFocus' and 'On LostFocus' clauses similar to others controls. Contributed by Grigory Filatov <gfilatov@freemail.ru> * Enhanced: The ButtonEx control supports JPG, GIF, TIF and PNG images now. You can set/get this property at runtime: Form.ButtonEx.Picture := 'ok.png' cImage := GetProperty( Form, Control, 'Picture' ) Added a new optional clause IMAGESIZE <w>, <h> to the ButtonEx control. This property is available at control's definition for NOT Bitmap only. The alternative syntax is IMAGEWIDTH <w> and IMAGEHEIGHT <h>. Requested by Verchenko Andrey <verchenkoag@gmail.com>. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Modified: The some internal functions were defined as Static. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see h_controlmisc.prg in folder \Source). * Updated: Rearranged processing of an enum index in the cycles 'For Each-Next' for xHarbour compatibility. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - added a new method nAtColActual() for correct detection of a column number at the mouse moving in TBrowse. It was needed for a proper handling of the cell's tooltips. Contributed by Igor Nazarov and SergKis (see demo2.prg in folder \samples\Advanced\Tsb_calendar) * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.12.1 (from 3.12.0dev). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-04-05 16:27): * Updated: HbNetIO contrib library. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.3.0 Project Manager and Two-Way Visual Form Designer. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look for what's new at changelog.txt in folder \Ide) * New: 'ON LOSTFOCUS event as validation checking for TEXTBOX control' sample. Based upon a contribution of S.Rathinagiri <srgiri@dataone.in> (see in folder \samples\Basic\VALID_2) * New: 'Command Link Button emulation for WinXP' sample. Requested by Pete D. <pete_westg/at/yahoo.gr>. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\CommandLinkXP) * New: 'TsBrowse Monthly Calendar with the dates marking at runtime' sample. You can mark the dates by a left mouse click or <Enter> or <Space> keys pressing. Don't miss this very interesting example! Based upon a contribution of Igor Nazarov (see in folder \samples\Advanced\Tsb_calendar) * New: 'TSBrowse Incremental Seek With Footer's GetBox' sample. Based upon a contribution of Russian user SergKis (see in folder \samples\Advanced\Tsb_seek_2) * New: 'How to display a ProgressBar on TaskBar icon' sample is based on the ITaskbarList3 COM Interface. It is MinGW-based example only. Note: This feature works properly at Windows 7 or later only. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\TaskBarList) * Updated: 'Display of Main, Child and Modal windows without sizes' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\Hello) * Updated: 'HMG IDE Demo' sample: - modified MonthCal control handling after the last core changes. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\hmgide) * Updated: 'System Idle Detection' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo2.prg in folder \samples\Advanced\SysIdle) * Updated: 'Minigui Modal Form Designer Utility' sample: - added datepicker and hyperlink controls; - added supporting functions for tbrowse control; - added spanish/english translation; - added config file setup.ini. Contributed by Rafael Moran <webrmoran[at]yahool.com>. Revised by Grigory Filatov <gfilatov@inbox.ru> (see in folder \Utils\xForm)
Если есть желающие поучаствовать в тестировании этой сборки, то могу предоставить ссылку для скачивания (в индивидуальном порядке )
sergeyd
Пост N: 2
Зарегистрирован: 13.04.16
Отправлено: 14.04.16 12:16. Заголовок: У меня давно уже про..
У меня давно уже проблема с Hotkey: при некоторых стечениях обстоятельств окно программы не активно (на "заднем плане" ), но получает WM_HOTKEY вместо активного окна.
Мне кажется, в h_events.prg на CASE WM_HOTKEY вместо
_HMG_aControlParentHandles == GetActiveWindow() должно быть _HMG_aControlParentHandles == GetForegroundWindow()
и в случае _HMG_aControlParentHandles != GetForegroundWindow() надо WM_HOTKEY отправлять "наверх"
Или я где-то капитально ошибаюсь?
gfilatov2002
moderator
Пост N: 927
Зарегистрирован: 11.02.10
Отправлено: 14.04.16 13:03. Заголовок: sergeyd пишет: Или ..
sergeyd пишет:
цитата:
Или я где-то капитально ошибаюсь?
Просто добавьте следующую команду в основной модуль
Просто добавьте следующую команду в основной модуль
SET GLOBAL HOTKEYS ON
для Вашего случая
Не помогает... Да и не мой случай, вроде. У меня неактивная (на взгляд юзера неактивная, так как она НЕ ForegroundWindow) MinGUI-программа "хватает" hotkey.
А сделать нельзя ? Очень бы уменьшился труд по созданию кучи иконок.... Достало это рисование, вместо программирования, сидишь и эти иконки/картинки рисуешь под разные разрешения экрана.
Softlog86
Пост N: 299
Зарегистрирован: 03.12.08
Отправлено: 15.04.16 13:13. Заголовок: А какая проблема авт..
А какая проблема автоматом переделать ICO в JPG ? :)
Andrey
постоянный участник
Пост N: 4851
Зарегистрирован: 12.09.06
Отправлено: 15.04.16 18:02. Заголовок: Softlog86 пишет: А ..
Softlog86 пишет:
цитата:
А какая проблема автоматом переделать ICO в JPG ? :)
В JPG нет прозрачности. Соответсвенно JPG на кнопке будут выглядеть ужасно. Попробуй посмотреть иконку с кругом на кнопке и потом преобразуй иконку в JPG. Смотри пример - https://cloud.mail.ru/public/DtiA/D2ZSqB3ue И попробуй туда JPG сделать.
sergeyd
Пост N: 4
Зарегистрирован: 13.04.16
Отправлено: 15.04.16 20:16. Заголовок: Вот попробовал прост..
Вот попробовал простой пример с Hotkey сделать. Не на тему "неактивная MinGUI-программа хватает hotkey".
Если запустить программу один раз без параметра и параллельно с параметром 2, а затем понажимать несколько раз F2 то в одном окне, то в другом, то под Windows 10 Pro и Windows 7 Pro результат зависит от того, переключаем ли между окнами по а)ALT+TAB или мышкой в таскбаре или б)щелкаем мышкой по окнам. Под XP Home вроде работает нормально, под W 7/10 б) глючит
Благодарю за Ваше внимание и поддержку данного проекта
gfilatov2002
moderator
Пост N: 947
Зарегистрирован: 11.02.10
Отправлено: 13.05.16 10:39. Заголовок: Просто к сведению. В..
Просто к сведению. Выпустил сегодня pre-release для новой сборки библиотеки. Финальная версмя запланирована к выходу на следуюшей неделе Благодарю за Ваше внимание и поддержку данного проекта
Просто к сведению. Выпустил сегодня pre-release для новой сборки библиотеки.
Григорий, а почему в библиотеке нет примеров по LetoDB ? Отличное средство для переводы программ в современную технологию. Многие об этом не знают. Глядишь и захотят попробовать и перейдут на него. Тем более есть ссылки на него в Вики и примеры для МиниГуи я высылал.
Через твою библиотеку многие увидят LetoDB !!!
У тебя же в библиотеке разные базы есть: MySQL, PostgreSQL, SQLite.
Единственно что не сделал ещё один пример, распаковки zip-файла на сервере. Может кто поможет сделать ? Создание и копирование Zip-файла есть в примерах.
gfilatov2002
moderator
Пост N: 948
Зарегистрирован: 11.02.10
Отправлено: 18.05.16 10:15. Заголовок: Дню Пионерии 19 мая посвящается...
Сегодня выпущен очередной релиз библиотеки Minigui Ex.
Сборка для компилятора BCC лежит на официальном сайте библиотеки по адресу:
* Fixed: The correction of a caret look of Insert/Overwrite status at the entrance/exit in a GetBox control (introduced in the build 16.05). Contributed by Grigory Filatov <gfilatov@inbox.ru> * New: Added support for a cue banner (banner text) in TextBox, ComboBox and Spinner controls. Sets the textual cue (or placeholder) that is displayed by the edit control to prompt the user for information. When the user clicks the text, the text goes away and the user can type. Note: You cannot set a cue banner on a multiline edit control or on a rich edit control. Themes support must be activated in the application. Above is a WinAPI requirement. Syntax: @ <row>,<col> TEXTBOX <name> [ OF <parent> ] ; [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; [ VALUE <value> ] [ CUEBANNER | PLACEHOLDER <cCueText> ] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demos in folder \samples\Advanced\CueBanner) * Enhanced: SET HELPFILE TO <chmfile> command will process automatically the hotkey F1 for calling of a help file in the CHM format. Based upon a contribution of Kevin Carmody <i@kevincarmody.com> (see demo in folder \samples\Basic\ContextCHM) * Enhanced: The DRAW GRAPH and DRAW PIE commands support of the multiple charts on the same form. It was a postponed user's request. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Modified: DRAW GRAPH: moved the title, labels and legendgs cleaning into the ERASE WINDOW command. It was a postponed user's request. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Basic\Charts) * Updated: Synchronized Extended HMG for compatibility with Official HMG: - Enhanced: The ComboBox control supports the optional ON CANCEL event when the user selects an item, but then selects another control or closes the dialog box. It indicates the user's initial selection is to be ignored. Based upon a contribution of Claudio Soto <srvet@adinet.com.uy> * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.14.0dev (from 3.13.0dev). Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-05-04 15:50): * hbrdd and hbrtl were compiled with a default switch -gc3 instead -gc0; * Updated: OpenSSL wrapper for using the recent 1.0.2h version. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'RMChart DLL class usage' samples are based upon the RMChart.dll from http://www.rmchart.com. Based upon a code contributed by Jose Quintas. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\RMChart_DLL_2) * New: 'TSBrowse Load Fields with ordered data' sample. Contributed by Igor Nazarov. Revised by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\Tsb_LoadFields) * Updated: 'My Dbf Browse' sample: - modified for compatibility with the last Browse control changes. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\BROWSE_8) * Updated: 'Help Demo' sample: - replace an obsolete HLP format with CHM format. Based upon a contribution of Kevin Carmody <i@kevincarmody.com> (see in folder \samples\Basic\HELP) * Updated: 'Auto Completing ComboBox' sample. Based upon a contribution of S.Rathinagiri <srgiri@dataone.in> (see in folder \samples\Advanced\AutoFill_2) * Updated: 'Transactions in DBF' sample: - added a brief document about a Table, Record and Field classes. Based upon the Table class of the Harbour contrib library xHb. (see ttable.txt in folder \samples\Advanced\TRANSACTIONS)
Благодарю за Ваше внимание , а также за финансовую поддержку данного проекта
C:/MiniGUI/lib/debugger.lib: file not recognized: File format not recognized
скорее всего пытаешься собрать в Mingw и кормишь ему борландовскую библиотеку В среде BCC55 собирается без единого замечания
Строка "File format not recognized" это строка MInGw, ВСС ее не использует Это "collect2:" - тоже из Mingw А это debugger.lib файл в формате библиотеки Borland C
Пишу с мобилки, поэтому коротео. Это называется "горе от ума".hbmk2 который собирает приложение - слишком умный. Когда в системе установлены несколько компиляторов которые он понимает. И когда пользователь не позаботился явно указать чем собирать, hbmk2 ищет сам. В данном случае по псвоим алгоритмам он раньше нахоит Mingw. Укажи явно что собирать надо борландом. У hbmk2 есть ключик, посмотреть можно hbmk2.exe - help.
Запустил build.bat , который был в директории и получил сообщение.
Пути поправь в buildapp.bat Проверил , нормально собирается и под BCC и под MINGW
Haz
администратор
Пост N: 1005
Зарегистрирован: 20.02.11
Отправлено: 08.06.16 09:09. Заголовок: На счет пути в build..
На счет пути в buildapp не скажу. Т.к. не помню его содержимое. Возможно там путей и нет, а может Дима прав. Как вариант можно в пути поиска PATH раньше указать папку с борландом.
Есть пути Игорь Например в начале (я сам правил , под себя)
SET HMGPATH=c:\minigui_mg\hmg
SET PATH=%HMGPATH%\harbour\bin;%HMGPATH%\mingw32\bin;%PATH%
SET HMGRPATH=c:\minigui_mg\minigui
Haz
администратор
Пост N: 1006
Зарегистрирован: 20.02.11
Отправлено: 08.06.16 11:10. Заголовок: Dima пишет: Есть пу..
Dima пишет:
цитата:
Есть пути
Приехал на работу, пишу с компа )))
не факт что пути есть - вот содержимое build.bat из поставки Minigui - всего одна строка call ..\..\..\batch\hbmk2.bat %* -b -trace dbg_test.hbp dbg_test.hbc видимо надо добавить
Dima
администратор
Пост N: 5701
Зарегистрирован: 17.05.05
Отправлено: 08.06.16 11:28. Заголовок: Haz я не про тот ба..
Haz я не про тот батник (а тот что на пикче ниже) )) и потом под Mingw там чуть иная структура каталогов
Haz
администратор
Пост N: 1007
Зарегистрирован: 20.02.11
Отправлено: 08.06.16 11:30. Заголовок: Dima пишет: не про..
Dima пишет:
цитата:
не про тот батник
так бы сразу и сказал
Andrey
постоянный участник
Пост N: 4961
Зарегистрирован: 12.09.06
Отправлено: 08.06.16 16:03. Заголовок: Haz пишет: и потом ..
Haz пишет:
цитата:
и потом под Mingw там чуть иная структура каталогов
Можно ли разместить МиниГуи под Mingw и BCC на одном диске ? Хочется собирать проекты под разными компиляторами и посмотреть разницу.
при вызове GRID поверх стали появляться lable главного окна ...
Возможно проблему решит SetFocus на Grid или Hide на Label и Button и зачем создавать себе трудности выводя контролы с пересекающимися координатами если на форме в одном месте должно выводиться несколько контролов, у меня к примеру в зависимости от условий это GetBox, Combo, CheckBox и др. то видимый всегда один, остальные прячу
Отправлено: 06.07.16 15:55. Заголовок: gfilatov2002 А возм..
gfilatov2002 А возможно ли сделать что бы в BUTTONEX , IMAGESIZE срабатывал и для иконок и bmp зашитых в ресурс EXE файла ? Объясню для чего надо. Есть икона в ресурсе 32x32 и ее можно будет прицепить на любую кнопку уменьшив/увеличив ее размеры. А так пока приходится держать пару - тройку одинаковых икон с разными размерами.
gfilatov2002
moderator
Пост N: 960
Зарегистрирован: 11.02.10
Отправлено: 06.07.16 18:29. Заголовок: Dima пишет: Есть ик..
Dima пишет:
цитата:
Есть икона в ресурсе 32x32 и ее можно будет прицепить на любую кнопку уменьшив/увеличив ее размеры.
Не получится, поскольку функция HMG_LoadPicture(), которая используется для масштабирования, не дружит с иконками
Dima пишет:
цитата:
приходится держать пару - тройку одинаковых икон с разными размерами.
Попробуй конвертировать самую большую иконку в PNG формат Возможно, тогда проблема с избыточными ресурсами будет решена
Andrey
постоянный участник
Пост N: 4995
Зарегистрирован: 12.09.06
Отправлено: 06.07.16 18:51. Заголовок: Dima пишет: А так п..
Dima пишет:
цитата:
А так пока приходится держать пару - тройку одинаковых икон с разными размерами.
Попробуй конвертировать самую большую иконку в PNG формат
Идея отличная Так и сделал , поигрался.... Личные наблюдения:
1. ICO и BMP идеально ложатся на кнопку без искажений (играл с размером 32x32) 2. Тот же PNG такого же размера (говорю примерно о такой пикче но 32x32 http://www.icons101.com/icon_png/size_512/id_73282/Excel.png лечь то она легла , но края "обгрызаны" будто хомячки погрызли. В редакторе (вьювере) картинок , ICO и такой же PNG с таким же размером выглядят идентично Попробовал ее масштабировать средствами BUTTONEX до 24x24 , та же песня , края "погрызаны"
Куда копать пока не понял. Остался на варианте 1 , там все идеально.
Andrey
постоянный участник
Пост N: 4996
Зарегистрирован: 12.09.06
Отправлено: 06.07.16 23:01. Заголовок: Dima пишет: Куда ко..
Dima пишет:
цитата:
Куда копать пока не понял.
Нужно менять (допиливать) функцию. За вывод PNG на форму и кнопки в минигуи отвечают две функции: HBITMAP HMG_LoadImage( char * FileName ); HBITMAP HMG_LoadPicture( char * FileName, int New_Width, int New_Height, HWND hWnd, int ScaleStretch, int Transparent, long BackgroundColor, int AdjustImage );
* New: Added support for a cue banner (banner text) in the BtnTextBox control. Syntax: @ <row>,<col> BTNTEXTBOX <name> [ OF <parent> ] ; [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; [ VALUE <value> ] [ ACTION <action> ] ; [ CUEBANNER | PLACEHOLDER <cCueText> ] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo4.prg in folder \samples\Advanced\CueBanner) * New: Added the commands for the animated GIF support. Standard syntax: @ <row>,<col> ANIGIF <controlname> [ OBJ <oGif> ] [ OF <parent> ] ; PICTURE <filename> [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; [ BACKGROUNDCOLOR <aBKGcolor> ] [ DELAY <nDelay> ]
RELEASE ANIGIF <name> OF <parent>
Alternative syntax: DEFINE ANIGIF Gif_1 ROW 20 COL 20 WIDTH 100 HEIGHT 100 PICTURE filename BKGNDCOLOR WHITE END ANIGIF Based upon a contribution of Petr Chornyj and the TGif class. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\tgif) * Enhanced: The standard ComboBox control with DISPLAYEDIT clause supports an optional AUTOCOMPLETE clause with a facultative SHOWDROPDOWN option. It will be automatically completes input strings by comparing the prefix being entered to the prefixes of all strings in the maintained items. This is useful for ComboBox controls in which URLs, addresses, file names, or commands will be frequently entered. Sample code: DEFINE COMBOBOX combo_1 ROW 10 COL 10 WIDTH 150 HEIGHT 200 ITEMS aItems SORT .T. DISPLAYEDIT .T. AUTOCOMPLETE .T. SHOWDROPDOWN .T. END COMBOBOX Based upon a contribution of S.Rathinagiri <srgiri@dataone.in>. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\AutoFill_2) * Enhanced: The Grid control supports the optional 'ColumnSort {}' clause. This clause specifies that column's headers allows to sort a data via a mouse click with showing a corresponding headers image. Syntax: @ <row>,<col> GRID <name> [ OF <parent> ] ; [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; [ HEADERS <aHeaders> ] [ WIDTHS <aWidths> ] ; [ ITEMS <aItems> ] [ VALUE <value> ] [ COLUMNSORT <aSort> ] where the array aSort may have the following values for each column: 0 - no sorting; 1 - ascending sort; 2 - descending sort. Based upon a contribution by Bicahi Esgici <esgici@gmail.com>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see demo7.prg in folder \samples\Basic\Grid_3) * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - Fixed: a small correction in the method SortArray(). Contributed by Janusz Pora <januszpora@onet.eu>. - Updated: added workaround for a problem with a current row painting at WinXP/Seven. Suggested by Igor Nazarov. * Updated: Harbour Compiler 3.2.0dev (SVN 2016-06-29 23:02). Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * Updated: HMGS-IDE v.1.3.0 Project Manager and Two-Way Visual Form Designer. Contributed by Grigory Filatov <gfilatov@inbox.ru> (look for what's new at changelog.txt in folder \Ide) * New: 'Charts DBF' sample is based on the Selector library of Janusz Piwowarski: - implementation of pseudo-SQL command SELECT for the queries to DBF. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\Charts_3) * New: 'OptionBox() function' sample. Based upon a contribution of Roberto Lopez <mail.box.hmg@gmail.com> (see in folder \samples\Basic\OptionBox) * Updated: 'Gif89 Demo' sample for compatibility with the last Minigui changes. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\AnimatedGif) * Updated: 'TGif class' sample for compatibility with the last Minigui changes. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\tgif) * Updated: 'Print Pie Graph' sample: updated the data for June 2016. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo.prg in folder \samples\Basic\GraphPrint) * Updated: 'Sort Grid Columns' sample: show of the alternative syntax. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\HeaderImage) * Updated: 'Browse with LOGRDD rdd driver' sample: misc bugfix. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\LogRdd)
Благодарю за Ваше внимание, а также за финансовую поддержку данного проекта
P.S. Отдельный респект Андрею Верченко и Владимиру Рудоманову за посильную материальную помощь разработки этой библиотеки
gfilatov2002
moderator
Пост N: 964
Зарегистрирован: 11.02.10
Отправлено: 14.07.16 09:44. Заголовок: Как и обещал, выложи..
Как и обещал, выложил очередную сборку на оф.сайте библиотеки.
Отправлено: 30.07.16 09:12. Заголовок: gfilatov2002 Есть п..
gfilatov2002 Есть проблема. Окно + бровс. В винде жму свернуть все окна и так раз 5 подряд , после очередного восстановления окна , бровс куда то исчез :) Похожий пример из FW , отработал нормально.
К примеру вот на этом примере глючит C:\MiniGUI\SAMPLES\Advanced\Tsb_LoadFields\
В этом ЗЫ у минигуи наблюдаются проблемы с передачей фокуса. Как исправлять - не представляю, т.к. ты сам пишешь не на каждый раз глючит и ловить причину не ясно где. На 8/10 устал нажимать на свернуть окна - все работает штатно.
Dima
администратор
Пост N: 5932
Зарегистрирован: 17.05.05
Отправлено: 30.07.16 12:17. Заголовок: Haz пишет: В этом З..
Haz пишет:
цитата:
В этом ЗЫ у минигуи наблюдаются проблемы с передачей фокуса
А дедько Линарес в FW как то решил эту проблему однако Но я не хочу FW , мне нравится Минигуи !
Петр
постоянный участник
Пост N: 1214
Зарегистрирован: 09.10.06
Отправлено: 30.07.16 12:28. Заголовок: Dima пишет: К приме..
Dima пишет:
цитата:
К примеру вот на этом примере глючит C:\MiniGUI\SAMPLES\Advanced\Tsb_LoadFields\
ЗЫ Вынь 7
А у меня не заглючило, Win7 тоже
Dima
администратор
Пост N: 5933
Зарегистрирован: 17.05.05
Отправлено: 30.07.16 12:35. Заголовок: Петр Пару раз клацн..
Петр Пару раз клацнул наверное. У меня получилось на 4-ом разе. Глючат исключительно приложения на минигуи со всем остальным все идеально.
Еще одно ЗЫ :) Mingw у меня в приложениях (так же глючит) А примерчик собран в BCC55
Dima
администратор
Пост N: 5934
Зарегистрирован: 17.05.05
Отправлено: 30.07.16 12:50. Заголовок: Петр А вот кино ht..
Пару раз клацнул наверное. У меня получилось на 4-ом разе.
Да нет, вроде. Клацал пока не надоело. MiniGUI свежий, компилятор BCC55, Win7 со всеми доступными обновлениями, AVG.
Dima
администратор
Пост N: 5935
Зарегистрирован: 17.05.05
Отправлено: 30.07.16 13:26. Заголовок: Петр пишет: MiniGUI..
Петр пишет:
цитата:
MiniGUI свежий
+1 Петр пишет:
цитата:
компилятор BCC55
+1 Петр пишет:
цитата:
Win7 со всеми доступными обновлениями
на момент установки 15.05.2015 все стояло самое свежее + KB Петр пишет:
цитата:
AVG
Drweb
ХЗ что делать , не за себя душа болит а за юзеров а у них только XP и 7 , начнут вот так вот клацать и начнутся вопросы а ответить то и не чего
Петр
постоянный участник
Пост N: 1216
Зарегистрирован: 09.10.06
Отправлено: 30.07.16 13:42. Заголовок: Понятно, что собака ..
Понятно, что собака зарыта здесь: FUNCTION Events ( hWnd, nMsg, wParam, lParam )
Понятно, что код там (и не только там) нужно оптимизировать в любом случае, даже если бы не было артефактов. Посмотрю, что можно сделать и отпишусь. Но нужно время, и отдельная тема, например "Обработка событий в MiniGUI", что бы ветку не зас..ть окончательно, причем из лучших побуждений.
Dima
администратор
Пост N: 5936
Зарегистрирован: 17.05.05
Отправлено: 30.07.16 15:16. Заголовок: Петр пишет: Посмотр..
Петр пишет:
цитата:
Посмотрю, что можно сделать и отпишусь. Но нужно время, и отдельная тема, например "Обработка событий в MiniGUI"
Петр я готов тестить в любое время суток если что.
SergKis
постоянный участник
Пост N: 1114
Зарегистрирован: 17.02.12
Отправлено: 01.08.16 22:26. Заголовок: Поковырял команды ОО..
Поковырял команды ООП This... : i_this.ch Скрытый текст
Для команд выделенных цветом использовал доп. функции ( назвал так, что бы не пересечься с похожими )
FUNCTION GetCliWidth ( nHandle ) LOCAL aRect := {0,0,0,0} GetClientRect( nHandle, aRect ) RETURN ( aRect[3] - aRect[1] )
FUNCTION GetCliHeight( nHandle ) LOCAL aRect := {0,0,0,0} GetClientRect( nHandle, aRect ) RETURN ( aRect[4] - aRect[2] )
Если ф-ии лишнии, то надо убрать выделенные цветом команды. Использовать как обычно This.Width , This.Height , This.Handle , This.Index This.Btn.Width, This.Btn.Height, This.Btn.Handle , This.Btn.Index This.ClientWidth, This.ClientHeight This.Btn.ClientWidth, This.Btn.ClientHeight
Все варианты написания не проверял (может совместными усилиями ?)
gfilatov2002
moderator
Пост N: 969
Зарегистрирован: 11.02.10
Отправлено: 02.08.16 11:31. Заголовок: SergKis пишет: Для ..
SergKis пишет:
цитата:
Для команд выделенных цветом использовал доп. функции
Благодарю за дополнение команды This
P.S. Заменил доп. функции на одну уже существующую в коде библиотеки функцию _GetClientRect()
SergKis
постоянный участник
Пост N: 1123
Зарегистрирован: 17.02.12
Отправлено: 02.08.16 12:53. Заголовок: gfilatov2002 Еще к ..
Отправлено: 02.08.16 14:41. Заголовок: SergKis пишет: Еще ..
SergKis пишет:
цитата:
Еще к командам ООП
Благодарю Добавил эти модификации также...
SergKis
постоянный участник
Пост N: 1124
Зарегистрирован: 17.02.12
Отправлено: 02.08.16 23:07. Заголовок: Andrey пишет можно б..
Andrey пишет
цитата:
можно будет писать так: nFWidth := This.Width nFHeight := This.Height
пример использования
DEFINE WINDOW wndCalc AT 0,0 ; ... nWidth := This.ClientWidth - x * 2 ... @ y, x LABEL Itog VALUE "" ; ... y += This.Itog.Height + n ... For i := 1 To len(a) If ! empty(a[ i ]) j := "Btn"+a[ i ][1] DEFINE BUTTONEX &j ... ACTION PostMsg() END BUTTONEX This.&(j).Cargo := a[ i ][2] EndIf ... nW := This.ClientWidth - int(n * 0.6) nH := y
DRAW RECTANGLE IN WINDOW &( This.Name ) AT nY, nX TO nH, nW ; PENCOLOR BLUE
END WINDOW ...
STATIC FUNCTION PostMsg( nKey, lFocus ) LOCAL c, j := This.Name
Default lFocus := .T.
If j != ThisWindow.Name // это контрол не окно c := This.&(j).Cargo If c == "." ; nKey := 190 Elseif c == "C" ; nKey := 32 ElseIf c $ "0123456789"; nKey := 48 + val(c) EndIf EndIf If ! empty(nKey) PostMessage( ThisWindow.Handle, WM_KEYDOWN, nKey, 0) EndIf If lFocus This.Itog.SetFocus EndIf
RETURN Nil
SergKis
постоянный участник
Пост N: 1125
Зарегистрирован: 17.02.12
Отправлено: 03.08.16 09:20. Заголовок: gfilatov2002 Еще не..
Не стал добавлять, поскольку эти функции не входят в библиотеку (они взяты из примеров).
Кстати, завершена подготовка очередной сборки 16.08, которая выйдет на следующей неделе. Список изменений см. ниже Скрытый текст
* Fixed: Missing NOBORDER clause handling in a GetBox control at the alternative syntax. Problem was reported by Dusko Radojcin. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Changed: ANIMATERES User Component was moved from the samples to MiniGUI core. This control opens and displays continuously an AVI clip from a resource in a specified module. Note: You can only use silent AVI clips. Syntax: @ <row>,<col> ANIMATERES <name> [ OF <parent> ] ; [ WIDTH <nWidth> ] [ HEIGHT <nHeight> ] ; FILE <DLL or EXE filename> ID <resource> [ TOOLTIP <tooltip> ] Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\AVI_Animation) * Changed: The ON CANCEL action in the ComboBox control will fire only if a last pressed key was <Escape> key. It indicates the user's initial selection is to be ignored. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Enhanced: Added the readonly 'Index', 'Type', 'ClientWidth' and 'ClientHeight' properties to 'This' object reference. Common syntax: Control_idx := This.Index, Form_idx := This.Index etc. Windows only syntax: Form_idx := ThisWindow.Index Based upon a contribution of Russian user SergKis (see demo in folder \samples\Basic\GetClientSize) * Enhanced: Added a shorten form 'App' for the 'Application' object. Examples: App.ExeName, App.Handle, App.FormName etc. Suggested by SergKis. * Enhanced: The function PutFile() supports an optional 7-th parameter to control the overwriting if a file already exists. Syntax: PutFile( aFilter, title, cIniFolder, lNoChangeCurDir, cDefFileName,; /*@*/ nFilterIndex, lPromptOverwrite ) If <lPromptOverwrite> set to .T. (default is .F.) and a file already exists, user will be asked to overwrite it or not. Contributed by Pete Dionysopoulos <pete_westg@yahoo.gr> (see demo2.prg in folder \samples\Basic\PutFile) * Updated: Synchronized Extended HMG for compatibility with Official HMG: * Added MiniPrint2 library with the following modifications: - Enhanced look and feel of Print Preview; - Enhanced quality of images of ThumbNails in printer preview; - Changed cursor behavior in Print Preview window: Zoom and Glass Cursor only into page to print. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see source in folder \Source\MiniPrint2) (see demo in folder \samples\Advanced\MiniPrint2) * Updated: Header file i_hmgcompat.ch for compatibility with Official HMG: - added the following commands: SET CONTROL <ControlName> OF <FormName> ; CLIENTEDGE | STATICEDGE | WINDOWEDGE | NOTEDGE Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: C-code cleaning for correct compiling with the Embarcadero BCC 10.1: - added missing casting for C++ mode into the MiniGUI core, CallDll, HbPrinter and MiniPrint libraries. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - fixed a tooltip handle assigning error at Windows Server 2008. Problem was reported by Dusko Radojcin. - fixed a wrong workaround (introduced in the build 16.07). Bug was reported by Jaroslaw Kadziola <kadziola@tlen.pl> * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.14.0dev. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-07-18 20:32). Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'DO REPORT command with a simple formatting' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo2.prg in folder \samples\Basic\DO_REPORT) * New: 'ActiveX Report Generator' sample. Based upon a freeware CatchysoftReport.Dll from the following URL: http://www.catchysoft.com/report_generator.html. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\ActiveX_Report) * New: 'Run the executable file from an application resource' console sample. Based upon a contribution at Harbour developer forum. (see in folder \samples\Advanced\RCDataToFile) * Updated: 'HMG Cursor' sample: - added the function PutMouse(). Contributed by Pierpaolo Martinello <pier.martinello[at]alice.it> (see in folder \samples\Basic\CURSOR) * Updated: 'TSBrowse Incremental Seek With Footer's GetBox' sample: - fixed using of "hole" detection. Problem was reported by russian user. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\Tsb_seek_2)
И напоследок - небольшой запрос Требуется помощь в портировании winapi-функции TaskDialogIndirect в среду Харбор/Минигуи. Петр, возьметесь
LOCAL aConfig, nButton, nRadioButton, lVerificationFlagChecked := .f. LOCAL nResult
aConfig := Array( TDC_CONFIG )
/* 2. TDC_HWND - handle to the parent window. This member can be NIL. */ aConfig[TDC_HWND] := ThisWindow.Handle
/* 3. TDC_HINSTANCE - handle to the module that contains the icon resource identified by the pszMainIcon or pszFooterIcon members, and the string resources identified by the pszWindowTitle, pszMainInstruction, pszContent, pszVerificationText, pszExpandedInformation, pszExpandedControlText, pszCollapsedControlText or pszFooter members. */ aConfig[TDC_HINSTANCE] := GetInstance()
/* 4. TDC_TASKDIALOG_FLAGS - Specifies the behavior of the task dialog. This parameter can be a combination of flags. */ aConfig[TDC_TASKDIALOG_FLAGS] := hb_bitOr( TDF_USE_COMMAND_LINKS, TDF_ENABLE_HYPERLINKS )
/* 6. TDC_WINDOWTITLE - the string to be used for the task dialog title. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. If this parameter is NIL, the filename of the executable program is used */ aConfig[TDC_WINDOWTITLE] := "Window Title"
/* 8. TDC_MAININSTRUCTION - the string to be used for the main instruction. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro */ aConfig[TDC_MAININSTRUCTION] := "Main Instruction"
/* 9. TDC_CONTENT - the string to be used for the dialog's primary content. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. If the ENABLE_HYPERLINKS flag is specified for the TDC_DWFLAGS, then this string may contain hyperlinks in the form: <A HREF="executablestring">Hyperlink Text</A>. */ aConfig[TDC_CONTENT] := "Content"
/* 16. TDC_VERIFICATIONTEXT - the string to be used to label the verification checkbox. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. If this parameter is NIL, the verification checkbox is not displayed in the task dialog. If the lVerificationFlagChecked parameter of TaskDialogIndirect is NIL, the checkbox is not enabled. */ aConfig[TDC_VERIFICATIONTEXT] := "Verification Text"
/* 17. TDC_EXPANDEDINFORMATION - the string to be used for displaying additional information. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. The additional information is displayed either immediately below the content or below the footer text depending on whether the TDF_EXPAND_FOOTER_AREA flag is specified. If the TDF_ENABLE_HYPERLINKS flag is specified for the TDC_DWFLAGS, then this string may contain hyperlinks in the form: <A HREF="executablestring">Hyperlink Text</A>. */ aConfig[TDC_EXPANDEDINFORMATION] := "Expanded Information"
/* 18. TDC_EXPANDEDCONTROLTEXT - the string to be used to label the button for collapsing the expandable information. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. This member is ignored when the TDC_EXPANDEDINFORMATION member is NIL. If this member is NIL and the TDC_COLLAPSEDCONTROLTEXT is specified, then the TDC_COLLAPSEDCONTROLTEXT value will be used for this member as well. */ aConfig[TDC_EXPANDEDCONTROLTEXT] := "Expanded Control Text"
/* 19. TDC_COLLAPSEDCONTROLTEXT - the string to be used to label the button for expanding the expandable information. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. This member is ignored when the TDC_EXPANDEDINFORMATION member is NIL. ?? If this member is NIL and the TDC_COLLAPSEDCONTROLTEXT is specified, then the TDC_COLLAPSEDCONTROLTEXT value will be used for this member as well. ?? */ aConfig[TDC_COLLAPSEDCONTROLTEXT] := "Collapsed Control Text"
/* 21. TDC_FOOTER - the string to be used in the footer area of the task dialog. This parameter can be either a string or an integer resource identifier passed to the MAKEINTRESOURCE macro. If the TDF_ENABLE_HYPERLINKS flag is specified for the TDC_DWFLAGS, then this string may contain hyperlinks in the form: <A HREF="executablestring">Hyperlink Text</A>. */ aConfig[TDC_FOOTER] := "Footer"
/* 24. TDC_WIDTH - the width of the task dialog's client area, in dialog units. If 0, the task dialog manager will calculate the ideal width. */ aConfig[TDC_WIDTH] := 0
STATIC FUNCTION callback( hWnd, nNotification, wParam, lParam ) LOCAL lResult := .F. /* To prevent the task dialog from closing, the application must return FALSE, otherwise the task dialog is closed */
CASE TDN_BUTTON_CLICKED // wParam - an int that specifies the ID of the button or comand link that was selected IF wParam == ID_OK ... lResult := .T. ELSEIF wParam == ID_CANCEL ... lResult := .T. EXIT
CASE TDN_RADIO_BUTTON_CLICKED // wParam - an int that specifies the ID corresponding to the radio button that was clicked ... EXIT
CASE TDN_EXPANDO_BUTTON_CLICKED // the user clicks on the dialog's expando button: wParam is 1 if the dialog is expanded, or 0 if not IF wParam == 1 ... ELSE ... EXIT
CASE TDN_HELP // the user presses F1 on the keyboard while the dialog has focus ... EXIT
CASE TDN_VERIFICATION_CLICKED // the user clicks the task dialog verification check box: wParam is the status of the checkbox. // It is 1 if the verification checkbox is checked, or 0 if it is unchecked. ... EXIT
END SWITCH
RETURN lResult // .t. or .f., that is the question :)
Петр
постоянный участник
Пост N: 1229
Зарегистрирован: 09.10.06
Отправлено: 03.08.16 22:47. Заголовок: Если внешний harbour..
Если внешний harbour интерфейс сочтете удобным, то займусь дальшей реализацией С части. Пожелания приветствуются сейчас - не люблю переделывать
Наброски (не проверялось компилятором - ошибки конечно присутствуют, но мысль, надеюсь, понятна ) Скрытый текст
/* 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!
FUNCTION _SetThisFormInfo ( i ) *-----------------------------------------------------------------------------* #ifdef _HMG_COMPAT_ _HMG_LastActiveFormIndex := i #endif _PushEventInfo()
в i_this.ch везде проверяется iif ( _HMG_THISType == 'C' , GetControlHandle (...) , GetFormHandle (...) ) и путается с контролом в PROCEDURE _ProcessInitProcedure( i ) ... _HMG_ThisType := 'W' ... надо и в _SetThisFormInfo ( i ) тоже поставить _HMG_ThisType := 'W'
* 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)
Благодарю за Вашу поддержку
Andrey
постоянный участник
Пост N: 5043
Зарегистрирован: 12.09.06
Отправлено: 08.08.16 12:52. Заголовок: Что-то две последние..
Подправил \BASIC\GetClientSize\demo.prg на использование This... Скрытый текст
/* * MINIGUI - Harbour Win32 GUI library Demo */
#include "minigui.ch"
FUNCTION MAIN LOCAL nCol
DEFINE WINDOW FORM_1 ; AT 0,0 WIDTH 350 HEIGHT 235 ; MINWIDTH 350 MINHEIGHT 235 ; TITLE "Get Form Client Height" ; MAIN ; ON INIT Form_Resize() ; ON SIZE Form_Resize() ; ON MAXIMIZE Form_Resize()
DEFINE MAIN MENU POPUP "&File" NAME mnuFile MENUITEM "&Exit" NAME mnuFileExit ; ACTION ThisWindow.Release END POPUP END MENU
DEFINE STATUSBAR STATUSITEM "Ready" RAISED DATE CLOCK END STATUSBAR
@ 05,10 LABEL lblWindow VALUE "WindowHeight = " AUTOSIZE @ 25,10 LABEL lblBorder VALUE "BorderHeight = " AUTOSIZE @ 45,10 LABEL lblTitlebar VALUE "TitleHeight = " AUTOSIZE @ 65,10 LABEL lblMenubar VALUE "MenubarHeight = " AUTOSIZE @ 85,10 LABEL lblStatusbar VALUE "StatusbarHeight = " AUTOSIZE @105,10 LABEL lblClient VALUE "ClientHeight = " AUTOSIZE @125,10 LABEL lblClientW VALUE "ClientWidth = " AUTOSIZE @145,10 LABEL lblWorkArea VALUE "WorkAreaHeight = " AUTOSIZE
nCol := This.lblStatusbar.Width + 10
@ 05,nCol LABEL lblWindowHeight VALUE "" WIDTH 70 HEIGHT 16 RIGHTALIGN @ 25,nCol LABEL lblBorderHeight VALUE hb_ntos(GetBorderHeight()) WIDTH 70 RIGHTALIGN @ 45,nCol LABEL lblTitleHeight VALUE hb_ntos(GetTitleHeight()) WIDTH 70 RIGHTALIGN @ 65,nCol LABEL lblMenubarHeight VALUE hb_ntos(GetMenubarHeight()) WIDTH 70 RIGHTALIGN @ 85,nCol LABEL lblStatusbarHeight VALUE hb_ntos(This.StatusBar.Height) WIDTH 70 RIGHTALIGN @105,nCol LABEL lblClientHeight VALUE "" WIDTH 70 RIGHTALIGN @125,nCol LABEL lblClientWidth VALUE "" WIDTH 70 RIGHTALIGN @145,nCol LABEL lblWorkAreaHeight VALUE "" WIDTH 70 HEIGHT 16 RIGHTALIGN
aConfig[ TDC_HWND ] := 0 aConfig[ TDC_HINSTANCE ] := GetInstance() aConfig[ TDC_MAINICON ] := TD_INFORMATION_ICON aConfig[ TDC_WINDOWTITLE ] := "Task Dialog Title" aConfig[ TDC_MAININSTRUCTION ] := "The main instruction text for the TaskDialog goes here." aConfig[ TDC_CONTENT ] := "The content text for the task dialog is shown here and the text will automatically wrap as needed." // aConfig[ TDC_VERIFICATIONTEXT ] := NILL aConfig[ TDC_VERIFICATIONTEXT ] := "Don't show me this message again" aConfig[ TDC_EXPANDEDINFORMATION ] := "Any expanded content text for the task dialog is shown here and the text will automatically wrap as needed." aConfig[ TDC_EXPANDEDCONTROLTEXT ] := "Expanded Control Text" aConfig[ TDC_COLLAPSEDCONTROLTEXT ] := "Collapsed Control Text" aConfig[ TDC_FOOTERICON ] := TD_INFORMATION_ICON aConfig[ TDC_FOOTER ] := "Optional footer text with an icon can be included"
IF nResult == 0 // no error occurs SWITCH nButton CASE IDOK ? "Button OK pressed" EXIT OTHERWISE ? "Button ID is", hb_ntos( nButton ) EXIT END SWITCH ? "Verification Flag is", If( lVerificationFlagChecked, "Checked", "UnChecked" ) ELSE ? "TaskDialogIndirect0() returns", nResult END IF
RETURN
STATIC FUNCTION callback( hWnd, nNotification, wParam, lParam ) LOCAL lResult := .F. /* To prevent the task dialog from closing, the application must return FALSE, otherwise the task dialog is closed */
SWITCH nNotification CASE TDN_CREATED ? "Notification: TDN_CREATED" EXIT
CASE TDN_DESTROYED ? "Notification: TDN_DESTROYED" EXIT
CASE TDN_BUTTON_CLICKED // wParam - an int that specifies the ID of the button or comand link that was selected ? "Notification: TDN_BUTTON_CLICKED. ID of the button:", wParam IF wParam == IDOK lResult := .T. ELSEIF wParam == IDCANCEL lResult := .T. ENDIF EXIT
CASE TDN_RADIO_BUTTON_CLICKED // wParam - an int that specifies the ID corresponding to the radio button that was clicked ? "Notification: TDN_RADIO_BUTTON_CLICKED. ID of the button:", wParam EXIT
CASE TDN_EXPANDO_BUTTON_CLICKED // the user clicks on the dialog's expando button: wParam is 1 if the dialog is expanded, or 0 if not ? "Notification: TDN_EXPANDO_BUTTON_CLICKED. Dialog is", If( wParam == 1, "expanded", "colapsed" ) EXIT
CASE TDN_HELP // the user presses F1 on the keyboard while the dialog has focus ? "Notification: TDN_HELP" EXIT
CASE TDN_VERIFICATION_CLICKED // the user clicks the task dialog verification check box: wParam is the status of the checkbox. // It is 1 if the verification checkbox is checked, or 0 if it is unchecked. ? "Notification: TDN_VERIFICATION_CLICKED. Verification checkbox is", If( wParam == 1, "checked", "unchecked" ) EXIT
CASE TDN_HYPERLINK_CLICKED ? "Notification: TDN_HYPERLINK_CLICKED" ShellExecute( hWnd, "open", lParam, , , SW_SHOW ) END SWITCH
Возникли следующие вопросы: 1) как сделать в этом диалоге вывод картинок из внешнего файла (использовать MAKEINTRESOURCE ); 2) как правильно сделать неявный вызов функции TaskDialogIndirect() из comctl32.dll (с использованием LoadLibrary() / GetProcAddress()) Это требуется для вызова этой функции под BCC 5.5:
цитата:
#if ( defined( __BORLANDC__ ) && __BORLANDC__ <= 1410 ) #include "tdi.h" // <-- здесь определения для структур TaskDialogIndirect #endif
P.S. Благодарю за реализацию на Си функции TaskDialog() - пригодится
при присвоении значения MainIcon мы можем использовать строку - имя ресурса, ID - числовой идентификатор ресурса, хендл HICON при этом в первых двух случаях используется pszMainIcon, а в последнем hMainIcon.
Поскольку в Minigui есть своя, скажем так, специфика в интерпретации указателей, я осознанно (не только из-за лени ) упустил присвоение значения нескольким членам структуры TASKDIALOGCONFIG.
gfilatov2002
moderator
Пост N: 986
Зарегистрирован: 11.02.10
Отправлено: 10.08.16 21:37. Заголовок: Петр пишет: при при..
Петр пишет:
цитата:
при присвоении значения MainIcon мы можем использовать
как сделать в этом диалоге вывод картинок из внешнего файла
Что значит внешний файл. TaskDialogIndirect ориентирован в первую очередь на использование ресурсов (строк и иконок). При этом ресурсы могут находиться как в собственно исполняемом файле config.hInstance = NULL или GetModuleHandle(NULL), так и в других файлах (например динамической библиотеке dll или другом исполняемом файле exe).
О hMainIcon уже писал, т.е иконку можно загрузить из файла, сгенерировать на лету или сконвертировать из другого формата с помощью gdi+ или других библиотек для обработки изображений.
Все это, я думаю вы уже поняли, относится и к FooterIcon.
gfilatov2002
moderator
Пост N: 987
Зарегистрирован: 11.02.10
Отправлено: 10.08.16 21:44. Заголовок: Петр пишет: в друг..
Петр пишет:
цитата:
в других файлах (например динамической библиотеке dll
Имел в ввиду этот случай - конкретно, системные dll
gfilatov2002
moderator
Пост N: 988
Зарегистрирован: 11.02.10
Отправлено: 10.08.16 21:47. Заголовок: Петр пишет: Все это..
Петр пишет:
цитата:
Все это, я думаю вы уже поняли, относится и к FooterIcon
Да, понял Благодарю за разъяснение
Увы, но работа этих диалоговых функций под bcc 5.5 приводит к вылету программы (не судьба, видимо, использовать со старым компилятором )
gfilatov2002
moderator
Пост N: 989
Зарегистрирован: 11.02.10
Отправлено: 11.08.16 11:11. Заголовок: Петр , Обратил внима..
Петр,
Обратил внимание, что параметр lParam в callback-функции при использовании флажка TDF_ENABLE_HYPERLINKS должен быть строкового типа (и содержать адрес URL), а не число, как сейчас Возможно ли это поправить
Отправлено: 11.08.16 12:56. Заголовок: Петр пишет: Попробу..
Петр пишет:
цитата:
Попробуйте это
Проверю сегодня вечером ... Судя по коду - должно работать Благодарю за помощь
Softlog86
Пост N: 318
Зарегистрирован: 03.12.08
Отправлено: 11.08.16 15:51. Заголовок: Вопрос вроде как уже..
Вопрос вроде как уже поднимался ..... не нашел в темах . Извините если что
Имеем - стандартное окно . В нем организовано еще одно типа PANEL с VIRTUAL HEIGHT - оно со скроллингом разумеется . в это окно (назовем его VIRTUAL_W ) - имеется некоторое количество контролов , лабелов и т д .
1 проблема >> после заполнения всех контролов - пока не сдвинешь в этом окне (стрелками или скролбаром) - некоторые элементы отображаются неверно Например LABEL - задан один цвет - а при первичной прорисовке он вовсе не такой . Нужно это окно сдвинуть вверх-вниз . тогда цвет уже такой как задавал
Пытаюсь передать в это окно команду PageUp - чтоб имитировать нажатие форма всё-равно не прорисовывается правильно ....:
2 Проблема - в окне есть элемент DRAW GRADIENT или DRAW LINE при каких то изменениях в этом окне - например передвижение или изменение LABEL VALUE и т д , этот самый DRAW LINE /GRADIENT не перерисовывается . Причем не всегда - то нормально - то с запаздыванием от от пары секунд до десятка . Иногда вообще не перерисовывается . прилагаю скрин
Окна типа PANEL появились в Минигуи сравнительно недавно и поэтому недоработки здесь вполне вероятны (по причине малого использования).
Softlog86 пишет:
цитата:
не перерисовывается
Обычно в таком случае помогает вызов следующей функции при инициализации окна
InvalidateRect( GetFormHandle( <имя формы> ), 0 )
Возможно также добавить этот вызов и по мере использования окна для принудительной перерисовки элементов
Softlog86
Пост N: 319
Зарегистрирован: 03.12.08
Отправлено: 11.08.16 17:11. Заголовок: У меня в этом окне е..
У меня в этом окне еще контрол GRID . Как только он получает фокус - всё , колесо прокрутки мыши не скроллирует в этом окне . Как сделать чтоб скроллинг работал всегда если мыша в этом окне (крутит колёсико прокрутки) ? Разумеется - если фокус в гриде - чтоб работал скрол внутри таблицы .
То есть принудительно давать фокус на всё окно - если колёсико крутанули внутри указанного окна (но не в гриде) - это тоже позволяет правильно использовать Mouse Wheel
Замечено вот еще что : Когда колёсико мышки крутим чтоб покрутить вниз - всё работает замечательно а вот вверх - уже с заминками - "два шага вверх - один вниз" - дёргается . хорошо работает если крутить медленно . Это касается скролла в окнах типа PANEL
gfilatov2002 пробовал . Всё равно . видимо придётся переопределять колесо прокрутки на скролл всего окна , даже если активен GRID . Там хватит и обычного Up/DN + скролбар . Мне важнее чтоб всё окно крутилось вверх-вниз . Только не знаю пока как это преопределение сделать ....
Петр
постоянный участник
Пост N: 1248
Зарегистрирован: 09.10.06
Отправлено: 12.08.16 09:08. Заголовок: Петр пишет: Добавл..
Петр пишет:
цитата:
Добавлена функция-обертка к TaskDialog, простой пример использования, пофиксены найденные ошибки. обновленные исходники
Очередные мелкие исправления, TaskDlgs.ch дополнен TDF_ Task Dialog Flags, добавлен еще один пример использования (радиокнопки, командные ссылки и пр.), добавлен простой класс CLASS TTaskDialog FUNCTION TaskDialog, который, надеюсь, со временем будет расширен, и пример его использования. качать отсюда
gfilatov2002
moderator
Пост N: 994
Зарегистрирован: 11.02.10
Отправлено: 12.08.16 09:53. Заголовок: Петр пишет: добавле..
Петр пишет:
цитата:
добавлен простой класс CLASS TTaskDialog
То, что надо Вечером посмотрю Благодарю за все Ваши усилия
gfilatov2002
moderator
Пост N: 995
Зарегистрирован: 11.02.10
Отправлено: 12.08.16 20:33. Заголовок: Петр пишет: класс ..
Петр пишет:
цитата:
класс CLASS TTaskDialog FUNCTION TaskDialog, который, надеюсь, со временем будет расширен
Да, этот класс - это пока только шаблон, но пользоваться им удобнее, чем просто вызывать функцию с параметрами ИМХО
Ни чего не спутал ? там строк меньше чем 237 и GetProperty там нет совсем.
Петр
постоянный участник
Пост N: 1268
Зарегистрирован: 09.10.06
Отправлено: 21.08.16 17:07. Заголовок: Andrey пишет: Там в..
Andrey пишет:
цитата:
Там в 237 строке надо поставить знак "," в GetProperty( Form, obj "Col" )
Подтверждаю
Dima
администратор
Пост N: 5980
Зарегистрирован: 17.05.05
Отправлено: 21.08.16 17:23. Заголовок: Петр пишет: Подтвер..
Петр пишет:
цитата:
Подтверждаю
Стрянно У меня HMG Extended Edition version 16.07 и в этом примере такого нет да и строк менее 237 Пример датируется 2011 годом от 18 июля В чем прикол ?
Dima 2016/08/08: HMG Extended Edition version 16.08. line 237 ocol := GetProperty( Form, "col" ) + GetProperty( Form, obj "Col" ) + rect [1] 2016/07/14: HMG Extended Edition version 16.07. действительно нет такой строки, как впрочем и в предыдущей
Dima
администратор
Пост N: 5981
Зарегистрирован: 17.05.05
Отправлено: 21.08.16 17:59. Заголовок: SergKis Точно , про..
SergKis Точно , пропустил я эту сборку (16.08) ...
gfilatov2002
moderator
Пост N: 996
Зарегистрирован: 11.02.10
Отправлено: 31.08.16 11:18. Заголовок: Для тех, кому это ин..
Для тех, кому это интеоесно. Выпустил сегодня 3-ю бету для новой сборки библиотеки.
* New: The Task Dialog support is based upon the Vista's TaskDialog API: - win_TaskDialog0( ,, cWindowTitle, cMainMessage, cContent, ; dwCommonButtons, nIcon, @nButton ) -> nResult - win_TaskDialogIndirect0( aConfig, @nButton, @nRadioButton, ; @lVerificationFlagChecked ) -> nResult - simple CLASS TTaskDialog FUNCTION TaskDialog. Usage: WITH OBJECT TaskDialog() :Title := 'Simple TaskDialog' :Instruction := 'My Main Text here' :Content := 'A simple text only function TaskDialog()' IF :Execute() == 0 MsgInfo( :ButtonResult ) ENDIF ENDWITH It is MinGW-based and BCC 10.1-based possibility only. Note: This feature works properly at Windows Vista or later only. Contributed by Petr Chornyj <myorg63@mail.ru> (see demos in folder \samples\TaskDialogs) (see demo in folder \samples\Basic\TTaskDialog) * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.14.1. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-08-10 20:12): * Updated: HbSqlDD library source code (see in folder \Source\HbSqlDD) Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'MultiThread usage in HMG' sample. Based upon a contribution of Roberto Lopez <mail.box.hmg@gmail.com>. Enhanced by Pete D. <pete_westg/at/yahoo.gr> (see in folder \samples\Basic\MultiThread) * New: 'Enhanced CLASS TTaskDialogEx FUNCTION TaskDialogEx' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\TaskDialogs\TaskDialogEx) * New: 'Quick Message functions are based on TaskDialog API' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\TaskDialogs\demo3) (see in folder \samples\Basic\TaskDialogs) * New: 'Directory Watcher' sample is based on 'Change Notification' WinAPI. Based upon a contribution of Petr Chornyj <myorg63@mail.ru>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\DirWatcher) * Updated: 'Get Form Client Height' sample. Based upon a contribution of Russian user SergKis (see in folder \samples\Basic\GetClientSize) * Updated: The following samples are revised for compatibility with the latest Harbour changes: - \Utils\SqlDBU; - \samples\Basic\Charts_2; - \samples\Advanced\MSSQL; - \samples\Advanced\MySqlDD; - \samples\Advanced\OdbcDD; - \samples\Advanced\Sqlit3DD; - \samples\Advanced\Tsb_sqlite. Contributed by Grigory Filatov <gfilatov@inbox.ru>
Выпустил сегодня 3-ю бету для новой сборки библиотеки.
А можно обновить MiniGUI\SOURCE\HbPgSql ?
gfilatov2002
moderator
Пост N: 997
Зарегистрирован: 11.02.10
Отправлено: 31.08.16 14:15. Заголовок: Andrey пишет: А мож..
Andrey пишет:
цитата:
А можно обновить MiniGUI\SOURCE\HbPgSql ?
Не вопрос, присылайте, что нужно обновить...
Andrey
постоянный участник
Пост N: 5065
Зарегистрирован: 12.09.06
Отправлено: 31.08.16 14:31. Заголовок: Сейчас там PostgreSQ..
Сейчас там PostgreSQL version 8.4 А уже 9.5 версия есть. https://postgrespro.ru/ Как и что обновлять не знаю... Может в Харборе взять новее библиотеки - hbpgsql ?
* New: 'Enhanced CLASS TTaskDialogEx FUNCTION TaskDialogEx' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\TaskDialogs\TaskDialogEx)
gfilatov2002
moderator
Пост N: 999
Зарегистрирован: 11.02.10
Отправлено: 01.09.16 12:43. Заголовок: Петр пишет: А где м..
:Title := 'TaskDialog with expandable text & footer with hyperlink' :Instruction := 'What do you think about of the Windows Vista TaskDialog?' :Content := 'The new TaskDialog provides a standard & enhanced way for interacting with the user' :Footer := "Optional footer text with an icon can be included" :MainIcon := TD_QUESTION :FooterIcon := TD_WARNING_ICON :ExpandedInfo := "Any expanded content text for the task dialog is shown " + ; "here and the text will automatically wrap as needed." :CollapsedCtrlText := "Click to see more" :ExpandedCtrlText := "Hide Expanded Text" :CallbackFunc := {|h,n,w,l| callback( h,n,w,l )}
nResult := :Execute() IF nResult == 0 ? "Button ID is", :ButtonResult ENDIF
ENDWITH
RETURN
STATIC FUNCTION callback( hWnd, nNotification, wParam, lParam ) LOCAL lResult := .F. /* To prevent the task dialog from closing, the application must return FALSE, otherwise the task dialog is closed */ LOCAL hResp := { 1=>"OK", 2=>"CANCEL", 3=>"ABORT", 4=>"RETRY", 5=>"IGNORE", 6=>"YES", 7=>"NO", 8=>"CLOSE" }
SWITCH nNotification CASE TDN_BUTTON_CLICKED // wParam - an int that specifies the ID of the button or comand link that was selected IF hb_HPos( hResp, wParam ) != 0 IF wParam == IDOK ? "Button OK was pressed" ENDIF lResult := .T. ENDIF EXIT
CASE TDN_HYPERLINK_CLICKED ShellExecute( hWnd, "open", lParam, , , SW_SHOW ) END SWITCH
RETURN lResult
Петр
постоянный участник
Пост N: 1282
Зарегистрирован: 09.10.06
Отправлено: 04.09.16 11:54. Заголовок: Andrey пишет: А мож..
Andrey пишет:
цитата:
А можно обновить MiniGUI\SOURCE\HbPgSql ?
Наверное для Андрея обновление уже не актуально
Andrey пишет:
цитата:
Может в Харборе взять новее библиотеки - hbpgsql ?
Функционально версии hbpgsql в MiniGUI и Harbour (https://github.com/harbour/core/) не отличаются. Более того, hbpgsql от MiniGUI есть старой версией harbour hbpgsql.
Не учтены сл. важные поправки 2014-03-27 16:13 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbpgsql/rddcopy.c ! fixed typos in my recent modification and potential memory corruption and/or wrong output due to ugly hack for last field terminator in old code. Thanks to Aleksander Czajczynski for reporting the problem.
К тому же rddcopy.c является юниксовым файлом (перевод строки LF вместо CRLF), что выглядит странно для MiniGUI
2011-10-20 15:21 UTC+0200 Viktor Szakats (vszakats.net/harbour) * contrib/hbpgsql/hbpgsql.hbx * contrib/hbpgsql/hbpgsql.hbp - contrib/hbpgsql/hdbcpg.prg - Deleted HDBC class layer due references to deprecated wrapper function which caused link errors in dynamic builds or HDBC apps. Please readd the file if interested in making this technially simple fix.
Поэтому с чистой совестью можете копировать файлы из harbour\contrib\hbpgsql и пересобирать библиотеку, как я уже говорил, новой функциональности вы не получите. Работать должно стабильнее.
Изменения в копирайтах и т.п. не в счет.
Петр
постоянный участник
Пост N: 1283
Зарегистрирован: 09.10.06
Отправлено: 04.09.16 12:10. Заголовок: Вот hbpgsql с harbou..
Вот hbpgsql с harbour-core (https://github.com/vszakats/harbour-core) выглядит сейчас более интересно, в основном за счет изменений в tpostgre.prg В часности, расширен METHOD New( cHost, cDatabase, cUser, cPass, nPort, cSchema, hCustom )
:New( ..., { 'timeout' => '10' } )
Andrey
постоянный участник
Пост N: 5093
Зарегистрирован: 12.09.06
Отправлено: 08.09.16 16:45. Заголовок: Григорий, а нельзя л..
Григорий, а нельзя ли прикрутить показ иконок (ICO) для объекта MENUITEM ?
SET MENUSTYLE EXTENDED SetMenuBitmapHeight( 48 ) DEFINE CONTEXT MENU OF &cForm MENUITEM "Меню..." ACTION .. IMAGE "W_add32х32"
* Fixed: Wrong executing of a new debug logging at console or mixed appls. Problem was reported by Mitja Podgornik. You can enable the logging output if you uncommented the constant _HMG_OUTLOG in the minigui header file. By default this is turned off to preserve the proper Harbour functionality. (look at minigui.ch in folder \include) Syntax of the logging output is below: ? <explist,...> ?? <explist,...> ?a <arr> ?v <arr> There is also the optional command SET LOGFILE TO <filename>. (see demo in folder \samples\Basic\OptionBox) * New: The Task Dialog support is based upon the Vista's TaskDialog API: - win_TaskDialog0( ,, cWindowTitle, cMainMessage, cContent, ; dwCommonButtons, nIcon, @nButton ) -> nResult - win_TaskDialogIndirect0( aConfig, @nButton, @nRadioButton, ; @lVerificationFlagChecked ) -> nResult - simple CLASS TTaskDialog FUNCTION TaskDialog. Usage: WITH OBJECT TaskDialog() :Title := 'Simple TaskDialog' :Instruction := 'My Main Text here' :Content := 'A simple text only function TaskDialog()' IF :Execute() == 0 MsgInfo( :ButtonResult ) ENDIF ENDWITH Note: This feature works properly at Windows Vista or later only. Contributed by Petr Chornyj <myorg63@mail.ru> (see demos in folder \samples\Basic\TaskDialogs) * Enhanced: The OwnerDraw Menu style supports the optional function: - _SetMenuItemIcon( ItemName , FormName , Icon ). Contributed by Grigory Filatov <gfilatov@inbox.ru> (see demo in folder \samples\Advanced\MenuEx) * Enhanced: Added the following features to batch\Compile.bat file: - Descriptions of the syntax was moved to a separate file. - Added the reading of the variables from an external minigui.cfg in the batch files Compile.bat and MakeLibOpt.bat. The reading takes place if a variable MG_ROOT is not defined. If the configuration file is not present, the sequence of actions is the same as before. Contributed by Petr Chornyj <myorg63@mail.ru> * Updated: HbPgSQL harbour library: - update for using PostgreSQL version 9.5. Contributed by Petr Chornyj <myorg63@mail.ru> (see in folder \Source\HbPgSql) * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.14.1. Contributed by Grigory Filatov <gfilatov@inbox.ru> * Updated: Harbour Compiler 3.2.0dev (SVN 2016-09-05 17:04): * Updated: HbSqlDD library source code (see in folder \Source\HbSqlDD). Contributed by Grigory Filatov <gfilatov@inbox.ru> (look at ReadMe.txt in folder \harbour) * New: 'MultiThread usage in HMG' sample. Based upon a contribution of Roberto Lopez <mail.box.hmg@gmail.com>. Enhanced by Pete D. <pete_westg/at/yahoo.gr> (see in folder \samples\Basic\MultiThread) * New: 'Enhanced CLASS TTaskDialogEx FUNCTION TaskDialogEx' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\TaskDialogs\TaskDialogEx) * New: 'Quick Message functions are based on TaskDialog API' sample. Contributed by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Basic\TaskDialogs\ShowMessage) * New: 'Directory Watcher' sample is based on 'Change Notification' WinAPI. Based upon a contribution of Petr Chornyj <myorg63@mail.ru>. Adapted for Minigui Extended by Grigory Filatov <gfilatov@inbox.ru> (see in folder \samples\Advanced\DirWatcher) * Updated: 'Get Form Client Height' sample. Based upon a contribution of Russian user SergKis (see in folder \samples\Basic\GetClientSize) * Updated: The following samples are revised for compatibility with the latest Harbour changes: - \Utils\SqlDBU; - \samples\Basic\Charts_2; - \samples\Advanced\MSSQL; - \samples\Advanced\MySqlDD; - \samples\Advanced\OdbcDD; - \samples\Advanced\Sqlit3DD; - \samples\Advanced\Tsb_sqlite. Contributed by Grigory Filatov <gfilatov@inbox.ru>
Выпустил сегодня первый RC для новой сборки библиотеки
Так и не понял куда вы их выкладываете..
gfilatov2002
moderator
Пост N: 1004
Зарегистрирован: 11.02.10
Отправлено: 17.09.16 18:44. Заголовок: Петр пишет: куда вы..
Петр пишет:
цитата:
куда вы их выкладываете
Ссылку на новую сборку отправил Вам по почте Буду благодарен за любые комментарии...
Dima
администратор
Пост N: 6017
Зарегистрирован: 17.05.05
Отправлено: 19.09.16 11:35. Заголовок: gfilatov2002 А нель..
gfilatov2002 А нельзя ли в модальном окне возле крестика закрытия окна добавить кнопку минимизации , при нажатии на которую сворачивалось бы все приложение ?
SergKis
постоянный участник
Пост N: 1230
Зарегистрирован: 17.02.12
Отправлено: 19.09.16 11:54. Заголовок: Dima Зачем эти ручн..
Dima Зачем эти ручные манипуляции ? Андрей показал решение. Можно в любое окно сунуть такое:
FUNC MinAll( lMinimize) LOCAL i, cWnd, cForm := ThisWindow.Name If lMinimize For i := 1 To Len(_HMG_aFormNames) cWnd := _HMG_aFormNames [ i ] If cWnd != cForm .and. _IsWindowDefined(cWnd) // что Андрей писал EndIf Next EndIf RETURN NIL
Dima
администратор
Пост N: 6018
Зарегистрирован: 17.05.05
Отправлено: 19.09.16 12:23. Заголовок: SergKis я о кнопке ..
SergKis я о кнопке
SergKis
постоянный участник
Пост N: 1231
Зарегистрирован: 17.02.12
Отправлено: 19.09.16 12:36. Заголовок: Dima пишет я о кнопк..
Dima пишет
цитата:
я о кнопке
Если именно о кнопке, то делай стандартный заголовок с (Minimaize, Maximaize) кнопками и вешай на события блоки кода с обработчиками (ON MINIMAIZE ... ON MAXIMAIZE ...), но по мне решение на ON INIT MinAll( .T. ) и ON RELEASE MaxAll( .T. ) от внешнего управления (переменной) лучше. Можно и свой Title окна сделать (в примерах где то было) со своими кнопками\контролами ... и обрабатывать нажатия так же
gfilatov2002
moderator
Пост N: 1005
Зарегистрирован: 11.02.10
Отправлено: 19.09.16 13:20. Заголовок: Dima пишет: нельзя ..
Dima пишет:
цитата:
нельзя ли в модальном окне возле крестика закрытия окна добавить кнопку минимизации
Можно, и это всего одна строчка в коде (см.пример ниже) Скрытый текст
#include "minigui.ch"
Function Main
SET DEFAULT ICON TO GetStartupFolder() + "\new.ico" SET CENTERWINDOW RELATIVE PARENT
DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 600 HEIGHT 400 ; TITLE 'MiniGUI StatusBar Demo (Based Upon a Contribution Of Janusz Pora)' ; MAIN ; FONT 'Arial' SIZE 10
DEFINE MAIN MENU POPUP '&StatusBar Test' ITEM 'Set StatusBar Item 1' ACTION Form_1.StatusBar.Item(1) := "New value 1" ITEM 'Set StatusBar Item 2' ACTION Form_1.StatusBar.Item(2) := "New value 2" ITEM 'Set StatusBar Item Icon' ; ACTION ( Form_1.StatusBar.Icon (3) := 'New.ico', Form_1.StatusBar.Item(3) := "A Smile!" ) ITEM 'Open Other Window...' ACTION Modal_Click() END POPUP POPUP '&Help' ITEM '&About' ACTION MsgInfo ("MiniGUI StatusBar Demo") END POPUP END MENU
DEFINE STATUSBAR FONT 'MS Sans Serif' SIZE 8 STATUSITEM "Item 1" ACTION MsgInfo('Click! 1') STATUSITEM "Item 2" WIDTH 100 ACTION MsgInfo('Click! 2') STATUSITEM 'A Car!' WIDTH 100 ICON 'Car.Ico' CLOCK DATE END STATUSBAR
Отправлено: 19.09.16 16:44. Заголовок: Петр пишет: Понятно..
Петр пишет:
цитата:
Понятно, что собака зарыта здесь: FUNCTION Events ( hWnd, nMsg, wParam, lParam )
Понятно, что код там (и не только там) нужно оптимизировать в любом случае, даже если бы не было артефактов.
Просто решил напомнить , было бы не плохо починить оптимизировать код , глядишь и косяков не будет....
Петр
постоянный участник
Пост N: 1294
Зарегистрирован: 09.10.06
Отправлено: 20.09.16 14:32. Заголовок: Dima пишет: Просто ..
Dima пишет:
цитата:
Просто решил напомнить , было бы не плохо починить оптимизировать код
Код создания окна, в котором размещен tsbrowse можно увидеть? Обработчики [ ONGOTFOCUS <GotFocusProcedure> ] ; [ ONLOSTFOCUS <LostFocusProcedure> ] ; использовались?
Dima
администратор
Пост N: 6021
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 14:37. Заголовок: Петр пишет: Код со..
Петр пишет:
цитата:
Код создания окна, в котором размещен tsbrowse можно увидеть?
Да конечно. Только глючит и в примерах так же на семерке.
У меня примеры не глючат, библиотека стандартная или своя?
Dima
администратор
Пост N: 6022
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 14:48. Заголовок: да два бровса библио..
да два бровса библиотека стандартная
Dima
администратор
Пост N: 6023
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 14:52. Заголовок: Петр пишет: У меня ..
Петр пишет:
цитата:
У меня примеры не глючат
Я взял поклацал свертку и разворот всех окон , на 5 попытке в примере C:\MiniGUI\SAMPLES\Advanced\Tsb_LoadFields\ получил чистое окно , без бровса. Могу кино снять если надо.
PS Винда не глючит и другие приложения тоже. Глюки исключительно в Минигуи.
Петр
постоянный участник
Пост N: 1296
Зарегистрирован: 09.10.06
Отправлено: 20.09.16 15:10. Заголовок: Пока спасибо за отве..
Пока спасибо за ответы, буду смотреть. А у бровса bWhen установлены?
Петр
постоянный участник
Пост N: 1297
Зарегистрирован: 09.10.06
Отправлено: 20.09.16 15:16. Заголовок: Dima пишет: Я взял ..
Dima пишет:
цитата:
Я взял поклацал свертку и разворот всех окон , на 5 попытке в примере C:\MiniGUI\SAMPLES\Advanced\Tsb_LoadFields\ получил чистое окно , без бровса. Могу кино снять если надо.
На 7? Кино не надо, а откомпилированный пример куда-то выложить?
Dima
администратор
Пост N: 6024
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 15:20. Заголовок: Петр пишет: откомпи..
Отправлено: 20.09.16 16:15. Заголовок: Протестировал на XP ..
Протестировал на XP и 7 - ничего необычного.
Dima
администратор
Пост N: 6025
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 16:22. Заголовок: Петр Понял , спасиб..
Петр Понял , спасибо ! Придется мириться с тем что есть ...
PSP
постоянный участник
Пост N: 1274
Зарегистрирован: 27.01.07
Отправлено: 20.09.16 16:22. Заголовок: У меня на 10-ке "..
У меня на 10-ке "эффект" воспроизвёлся: WIN-D, затем клик по свернутому окну в панели задач. Так несколько раз. В восстановленном окне пусто. Когда щелкаешь мышой внутрь, появляются ячейки бровса.
Dima
администратор
Пост N: 6026
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 16:53. Заголовок: PSP пишет: У меня н..
PSP пишет:
цитата:
У меня на 10-ке "эффект" воспроизвёлся:
Забавно а Has утверждал что на оси win 8 и выше таких косяков нет. Видимо он не шибко то и "гонял" свою задачу.
Нет-нет, просто копать глубже надо. Пока соображаю
SergKis
постоянный участник
Пост N: 1232
Зарегистрирован: 17.02.12
Отправлено: 20.09.16 17:37. Заголовок: PSP пишет У меня на ..
PSP пишет
цитата:
У меня на 10-ке "эффект"
На 2-х 8.1 получил следующее: - Win+D Win+D окно в фокусе, но с TSB фокус снят (раскраска курсора об этом говорит) и VK_TAB не восстанавливает фокус курсора (хоть ужмись) - клик на кнопке минимизации и по свернутой иконке (фокуса на TSB нет) жмем VK_TAB, фокус на TSB (курсор) восстановился, ALt+VK_TAB и ALt+VK_TAB + VK_TAB также восстанавливает фокус курсора TSB
10-ка корпоративная 64. Пример Димы работает без проблем при любом управлении.
Dima
администратор
Пост N: 6028
Зарегистрирован: 17.05.05
Отправлено: 20.09.16 17:48. Заголовок: ММК Да проблема про..
ММК Да проблема происходит рандомно , у меня с 5 раза получилось , у тебя может получится с тысячного или сотого. Я пробовал мучать так же , окно задачи на FW , вот там все работает как надо и ни чего не ломается. Но мне нравится Минигуи
ММК
постоянный участник
Пост N: 240
Зарегистрирован: 29.05.10
Отправлено: 20.09.16 17:55. Заголовок: Dima пишет: Но мне ..
Dima пишет:
цитата:
Но мне нравится Минигуи
Слишком много надо менять в Минигуи , что бы все работало , как в FW. Кстати TsBrows в FW так и не заработал ( нормально) . Его просто заменили
gfilatov2002
moderator
Пост N: 1006
Зарегистрирован: 11.02.10
Отправлено: 21.09.16 10:06. Заголовок: Опубликована новая с..
Опубликована новая сборка 16.09 для следующих С-компиляторов:
- BCC 5.51 (Harbour и xHarbour)
- MinGW 6.2.0 32/64 bits (только Harbour)
- BCC 10.1 (только Harbour)
- XCC (xHarbour)
Прямые ссылки на дистрибутивы есть на домашней странице библиотеки
Если кого-то интересует компилятор Pelles C 8.0, то я могу подготовить сборку для него также...
Я почистил неиспользуемые компоненты из поставки компилятора MinGW (библиотеки для поддержки python и т.п.) Теперь качать надо меньше...
sashaBG
постоянный участник
Пост N: 181
Зарегистрирован: 15.09.05
Отправлено: 22.09.16 16:33. Заголовок: В MiniGUI 16.09 - Модальное окно
Привет ! в версии 16.09 Модальное окно с кнопочкой (Form_2.MinButton := .T.) для сворачивания работает по другому сворачивается само окно а не вся прога !?
Отправлено: 22.09.16 16:55. Заголовок: Да уверен :)
Да уверен . Понравился трюк с ( Form_2.MinButton := .T. ) и переделал у себя в программе, на версии 16.08 все было ОК , но на новой сворачивает в низ только окно .
Dima
администратор
Пост N: 6032
Зарегистрирован: 17.05.05
Отправлено: 22.09.16 17:07. Заголовок: Тогда это косячок.....
Тогда это косячок... С модальным так не должно быть !
Dima
администратор
Пост N: 6033
Зарегистрирован: 17.05.05
Отправлено: 23.09.16 09:16. Заголовок: sashaBG Добрался я ..
sashaBG Добрался я до новой сборки. Собрал пример который дал Григорий в этой теме. Все работает нормально. Сворачивается все приложение !
sashaBG
постоянный участник
Пост N: 183
Зарегистрирован: 15.09.05
Отправлено: 23.09.16 12:04. Заголовок: Запусти пример через проводник
Странно , когда запускаю через FAR все похоже OK , запускаю через проводник Виндовса - сворачивается , но в нижнем левом углу остается полоска окна . А когда сделаеш ссылку demo.exe на десктоп наблюдается тот ефект о котором я говорил. У меня Windows 10 + anniversary update
Странно , когда запускаю через FAR все похоже OK , запускаю через проводник Виндовса - сворачивается , но в нижнем левом углу остается полоска окна
Точно. И у меня так. До этого проверял из FAR. Win 7
PS Вывод: Запускать из FAR
Andrey
постоянный участник
Пост N: 5112
Зарегистрирован: 12.09.06
Отправлено: 29.09.16 15:49. Заголовок: Не работает вывод от..
Не работает вывод отладки в файл. Наверное из-за переключения в другие папки. Нужно наверно сделать в h_ini.prg:
FUNCTION _SetGetLogFile( cFile ) *-----------------------------------------------------------------------------* LOCAL cOld STATIC MLog_File := GetStartUpFolder()+"\_MsgLog.txt"
Если делаю у себя в программе cFileLog := GetStartUpFolder()+"\_MsgLog.txt" //_SetGetLogFile() DELETEFILE(cFileLog) SET LOGFILE TO &cFileLog То вывод отладки в файл начинает происходить.... На маленьких программках вывод отладки в файл всегда проходит...
2016/09/21: HMG Extended Edition version 16.09. * Fixed: Wrong executing of a new debug logging at console or mixed appls (introduced in the build 16.08). Problem was reported by Mitja Podgornik. You can enable the logging output if you uncommented the constant _HMG_OUTLOG in the minigui header file. By default this is turned off to preserve the proper Harbour functionality. (look at minigui.ch in folder \include) Syntax of the logging output is below: ? <explist,...> ?? <explist,...> ?a <arr> ?v <arr>
Andrey
постоянный участник
Пост N: 5120
Зарегистрирован: 12.09.06
Отправлено: 03.10.16 10:23. Заголовок: Петр пишет: Вы это ..
Петр пишет:
цитата:
Вы это читали?
Да конечно же не читал... Всегда раньше читал и смотрел, а вот в этот раз установил и побежала работа ! Спасибо за подсказку !
Что исправлено: - опечатка в Си-функции RegisterWindow(), которая приводила к пропаданию основной иконки приложения, если она была задана из внешнего файла. - отображение CueBanner на WinVista с классической темой оформления.
Инсталляторы для других Си-компиляторов обновлю позже вечером
Все даты в формате GMT
3 час. Хитов сегодня: 80
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет