Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|
gfilatov2002
|
| moderator
|
Пост N: 2106
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.02.23 11:11. Заголовок: Andrey пишет: функц..
Andrey пишет: цитата: | функция определяющая тип время |
| Попробуй использовать функцию HB_ISTIMESTAMP()
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7306
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.23 11:29. Заголовок: Спасибо БОЛЬШОЕ ! ..
Спасибо БОЛЬШОЕ !
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4234
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.02.23 11:45. Заголовок: Andrey Уже публиков..
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7307
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.23 18:04. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Попробуй использовать функцию HB_ISTIMESTAMP() |
| А можно добавить аналогично как другие hb_IsLogical, hb_IsDate, hb_IsChar , типа - hb_IsDateTime ?
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4235
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.02.23 18:10. Заголовок: Andrey по ссылке на..
Andrey по ссылке на оглавлении hb_I смотреть не пробовал ? ... hb_IsDateTime(<xExp>) ➜ lResult determines if <xExp> evaluates to a timestamp (valtype "T") or a date (valtype "D") value. hb_IsTimestamp(<xExp>) ➜ lResult determines if <xExp> evaluates to a timestamp (valtype "T).
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7308
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.02.23 18:20. Заголовок: SergKis пишет: по с..
SergKis пишет: цитата: | по ссылке на оглавлении hb_I смотреть не пробовал ? |
| Да опять моё невнимание. Посмотрел только в CH и все... Извиняюсь...
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4236
Зарегистрирован: 17.02.12
|
|
Отправлено: 28.02.23 11:41. Заголовок: gfilatov2002 Неболь..
gfilatov2002 Небольшая недоработка в MDI с ToolBar, примеры тут https://TransFiles.ru/duv77 1. demo.exe - ToolBar на MdiMain окне - нажатие Maximize окна работает как надо ToolBar меняет размер 2. demo2.exe- ToolBar на MdiChild окне - нажатие Maximize окна работает НЕ как надо ToolBar НЕ меняет размер с тсб, то что размер не меняется, так и должно быть - нет обработчика h_events.prg **************************************************************************** CASE WM_SIZE **************************************************************************** ... FOR i := 1 TO ControlCount IF _HMG_aControlParentHandles [ i ] == hWnd IF _HMG_aControlType [ i ] == "TOOLBAR" SendMessage ( _HMG_aControlHandles [ i ], TB_AUTOSIZE, 0, 0 ) ENDIF ENDIF NEXT i ... h_windowsmdi.prg //********************************************************************** CASE nMsg == WM_SIZE //********************************************************************** ... нет SendMessage ( _HMG_aControlHandles [ i ], TB_AUTOSIZE, 0, 0 ), как выше может тут причина
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2108
Зарегистрирован: 11.02.10
|
|
Отправлено: 02.03.23 11:12. Заголовок: Выложил 2-е обновлен..
Выложил 2-е обновление сборки 23.02 с учетом последних исправлений и дополнений click here Благодарю Андрея Верченко и Сергея Киселева за непрерывную поддержку разработки этой библиотеки Желаю всем форумчанам здоровья и процветания
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7311
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.03.23 09:00. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Выложил 2-е обновление сборки 23.02 с учетом последних исправлений и дополнений |
| Спасибо БОЛЬШОЕ Григорий за твой труд ! Народ ! Оцените код примера - MiniGUI\SAMPLES\Advanced\Tsb_array_4 Огромное СПАСИБО Сергею за его участие в создание таких примеров ! Был бы раньше такой пример, я бы по другому сделал у себя ВСЕ таблицы.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4244
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.03.23 12:30. Заголовок: gfilatov2002 SergKi..
gfilatov2002 SergKis пишет цитата: | Небольшая недоработка в MDI с ToolBar |
| Сделал как в нашей версии 1. убрал в FUNCTION MdiEvents ( hWnd, nMsg, wParam, lParam ) секцию WM_SIZE, т.е. /* //********************************************************************** CASE nMsg == WM_SIZE //********************************************************************** ... */ //********************************************************************** CASE nMsg == WM_CLOSE //********************************************************************** ... 2. h_events.prg **************************************************************************** CASE WM_SIZE **************************************************************************** ... IF _HMG_MainClientMDIHandle != 0 IF wParam != SIZE_MINIMIZED .AND. hWnd==_HMG_MainHandle SizeClientWindow ( hWnd, _HMG_ActiveStatusHandle, _HMG_MainClientMDIHandle, r ) ENDIF ENDIF ... работает как надо с изменением Maximize\Normalize Main окна, но так же не работает, как и раньше, с Maximize MdiChild окна (пример 1 из архива выше)
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2110
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.03.23 16:03. Заголовок: SergKis пишет: не р..
SergKis пишет: цитата: | не работает, как и раньше, с Maximize MdiChild окна |
| Решил эту проблему в примере 2 из архива, добавив в основное окно два обработчика событий ON MAXIMIZE и ON SIZE: DEFINE WINDOW wMain AT nY,nX WIDTH nW HEIGHT nH TITLE cTitle ; MAIN MDI TOPMOST ; BACKCOLOR {227, 238, 251} ; ON INIT {|| This.Topmost := .F., DoEvents(), _wPost(0) } ; ON MAXIMIZE {|| iif( ISNUMERIC( hSpl ), _SetWindowSizePos ( hSpl, , , This.Width ), ) } ; ON SIZE {|| iif( ISNUMERIC( hSpl ), _SetWindowSizePos ( hSpl, , , This.Width ), ) } ; ON INTERACTIVECLOSE {|| _wSend(98), This.Cargo:lCloseForm } ; ON RELEASE {|| dbCloseAll() } и сделал переменную hSpl типа Public в функции Main (соответственно убрал ее из функции Child_Button()):
|
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4245
Зарегистрирован: 17.02.12
|
|
Отправлено: 07.03.23 18:07. Заголовок: gfilatov2002 пишет Р..
gfilatov2002 пишет цитата: | Решил эту проблему в примере 2 из архива, добавив в основное окно два обработчика событий ON MAXIMIZE и ON SIZE: |
| С самим MdiChild окном - все ясно (надо обработчики, лучше спрятать во внутрь, а не прописывать каждому окну). Изменения про которые писал выше, касаются только притягивания StatusBar и ToolBar к размеру MdiMain окна (Maximize\Normalize кнопка), в 1-м и во втором примерах (до изменений работало правильно только во 2-м примере, в 1-м нет). А цитата: | но так же не работает, как и раньше, с Maximize MdiChild окна (пример 1 из архива выше) |
| относится к 1-му примеру, т.е. запускаем, жмем, например, кнопку 3, получаем MdiChild окно, жмем кнопку Maxmize этого окна и получаем .... Тут тоже вопрос есть. Как выполнять Maximize ? Приводить все MdiChild окна к режиму Maximize или делать MdiChild окно в размер реальной клиентской области MdiMain окна ? PS В своей версии режим работы 1-го примера не используем в работе MDI, все только в режиме 2-го примера, т.е. всем MdiChild окнам (в lib загнали) делается This.Maximize, т.е. всегда видим только одно окно (под ним могут быть др. MdiChild окна, можно их видимость переключать) + Modal окна как в примере 2-а. Как показала практика - этого достаточно
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2112
Зарегистрирован: 11.02.10
|
|
Отправлено: 14.03.23 11:42. Заголовок: Всем кому это интересно
Выложил 3-е обновление сборки 23.02 с учетом последних исправлений и дополнений click here Это последнее обновление библиотеки, дальнейшая ее разработка и поддержка поставлены на паузу... Благодарю за ваше внимание.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7337
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.03.23 18:55. Заголовок: Григорий, можно в h_..
Григорий, можно в h_tbrowse.prg в METHOD ExcelOle(...) поменять местами строки ? IF bExtern != NIL Eval( bExtern, oSheet, Self ) ENDIF oRange:Borders():LineStyle := xlContinuous oRange:Columns:AutoFit() Сделать так: oRange:Borders():LineStyle := xlContinuous oRange:Columns:AutoFit() IF bExtern != NIL Eval( bExtern, oSheet, Self ) ENDIF Дело в том что oRange:Columns:AutoFit() // автоматически поменять ширину всех столбцов и высоту всех строк // в диапазоне, чтобы туда уместился текст ячеек. А я хочу менять ширину колонок.
|
|
|
Haz
|
| |
Пост N: 1912
Зарегистрирован: 20.02.11
|
|
Отправлено: 19.03.23 23:20. Заголовок: Andrey пишет: А я х..
Andrey пишет: цитата: | А я хочу менять ширину колонок. |
| Гораздо полезнее если метод будет опционально возвращать oExcel вне зависимости от установки lActivate. Тогда делать можно что угодно с созданным объектом. Ps. Повторюсь, метод на любителя. Скорее как пример работы с оле , чем реально требующийся.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7340
Зарегистрирован: 12.09.06
|
|
Отправлено: 20.03.23 09:38. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Выложил 3-е обновление сборки 23.02 с учетом последних исправлений и дополнений |
| Перешёл на него, отдельные проекты собираются. Перестал работать ехе-ник моей большой системы. Собирается, запускается, в лог чуток пишет и выходит без ошибки ! Совсем выходит, без запуска MAIN окна. Откатился на 23.01 - прога собирается и запускается нормально... Что такого нового в этом обновление ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2113
Зарегистрирован: 11.02.10
|
|
Отправлено: 26.03.23 16:41. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Это последнее обновление библиотеки |
| Завершается подготовка 4-го и последнего обновления сборки 23.02 Что нового: Скрытый текст
цитата: | * New: Added the new C-function IsHIcon( hIcon ) --> lIsHIcon to check if the given parameter is a pointer to an icon. This function is already used in the Minigui core. Contributed by Grigory Filatov <gfilatov@gmail.com> * New: Added HbLibXlsxWriter library by Fausto Di Creddo Trautwein for creating new Excel XLSX files. Based upon the Libxlsxwriter C library of John McNamara. Adapted for Minigui Extended by Grigory Filatov (see source in folder \Source\hblibxlsxwriter) * Updated: Adaptation FiveWin Class TSBrowse 9.0 in HMG: - minor corrections in the method UpStable(). Investigated and contributed by Igor Nazarov (see demo in folder \samples\Advanced\TSBrowse) * Updated: HbSQLite3 library: - update for using SQLITE3 version 3.41.2 (from 3.41.1). Contributed by Grigory Filatov <gfilatov@gmail.com> * New: 'HyperLinks and Labels usage' sample. Based upon a contribution of Pablo Cesar Arrascaeta at HMGFORUM. Adapted for Minigui Extended by Grigory Filatov (see in folder \samples\Basic\HYPERLINK_2) * Updated: 'Usage of the built-in ZIP support of Windows' sample: - modified for archiving to the Backup subfolder. Contributed by Grigory Filatov <gfilatov@gmail.com> (see in folder \samples\Basic\Zip_4) * Updated: 'HbLibXlsxWriter library test' samples: - update for using libxlsxwriter version 1.1.5 (from 0.7.5). Contributed by Grigory Filatov <gfilatov@gmail.com> (see in folder \samples\Advanced\HbXlsxWriter) |
|
| Если у вас есть дополнения к этой сборке, то я с удовольствием рассмотрю их Желаю всем доброго здоровья ( SergKis) и благодарю за ваше внимание.
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 7342
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.03.23 18:22. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Если у вас есть дополнения к этой сборке, то я с удовольствием рассмотрю |
| Отправил на почту.
|
|
|
SergKis
|
| постоянный участник
|
Пост N: 4252
Зарегистрирован: 17.02.12
|
|
Отправлено: 27.03.23 14:54. Заголовок: gfilatov2002 Спасиб..
gfilatov2002 Спасибо за пожелание. Всем его желаю. Такую правку предлагаю. FUNCTION _EndTBrowse( bEnd ) ... IF i > 0 oBrw := _HMG_aControlIds[ i ] IF Len(oBrw:aColumns) > 0 oc := ATail(oBrw:aColumns) oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack oBrw:oPhant:nClrFootBack := oc:nClrFootBack oc := NIL ENDIF oBrw:lRePaint := .T. ... что бы не писать END TBROWSE ON END {|ob,oc| ob:SetNoHoles(), oc := ATail(ob:aColumns), ; ob:oPhant:nClrHeadBack := oc:nClrHeadBack, ; ob:oPhant:nClrFootBack := oc:nClrFootBack, ; ob:Refresh(), ob:SetFocus() }
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 2114
Зарегистрирован: 11.02.10
|
|
Отправлено: 27.03.23 15:42. Заголовок: SergKis пишет: прав..
SergKis пишет: Принято, но с поправкой. SergKis пишет: цитата: | ... oBrw := _HMG_aControlIds[ i ] IF Len(oBrw:aColumns) > 0 oc := ATail(oBrw:aColumns) oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack oBrw:oPhant:nClrFootBack := oc:nClrFootBack oc := NIL ENDIF oBrw:lRePaint := .T. |
| Поскольку в этот момент колонка oPhant не определена, переписал эту правку таким образом: ... oBrw:lRePaint := .T. oBrw:Display() IF Len( oBrw:aColumns ) > 0 .AND. ! Empty( oBrw:oPhant ) oc := ATail( oBrw:aColumns ) oBrw:oPhant:nClrHeadBack := oc:nClrHeadBack oBrw:oPhant:nClrFootBack := oc:nClrFootBack oc := NIL ENDIF ...
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|