Автор | Сообщение |
gfilatov
|
| модератор
|
Пост N: 699
Зарегистрирован: 25.05.05
|
|
Отправлено: 29.01.08 13:59. Заголовок: Новая версия Расширенного релиза библиотеки MiniGUI (часть IV) (продолжение)
Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №48, которая выйдет в конце недели. Если у Вас есть интересные наработки для включения в новый релиз, то сейчас самое удобное время для их отправки мне Кратко, что нового: - исправление обнаруженных ошибок и неточностей кода; - новый класс HEADERIMAGE для Grid и Browse; - свойство Address в Hyperlink может теперь открывать папку или файл на диске; - добавлен NOTABSTOP класс для Browse; - поддержка пользовательских компонентов (заимствована из оффициального релиза); - расширения и исправления в библиотеках TsBrowse и PropGrid; - обновлены сборки Харбор и HMGS-IDE; - новые и обновленные старые примеры (как обычно ).
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[см. все]
|
|
Петр
|
| постоянный участник
|
Пост N: 1042
Зарегистрирован: 09.10.06
|
|
Отправлено: 16.12.11 11:42. Заголовок: Я рад за всех. Но Г..
Я рад за всех. Но Григорию хотелось бы посоветовать, поскольку в сборку MiniGUI не включается ChangeLog Harbour, хотя бы в анонсе указывать, к примеру, такие моменты * modified DB_DBFLOCK_HB64 locking scheme - extended RLOCK/FLOCK area from 2^31-2 to 2^32-2 it effectively changes maximum number of records in this locking scheme to 4'294'967'294 - use COMIX like hyper locking mode it should increase performance Warning: INCOMPATIBLE! all applications using DB_DBFLOCK_HB64 locking mode should be updated - it is not safe to concurrently access the same files using programs compiled with older Harbour versions and current one. И еще можно locks.txt в доки добавить
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 306
Зарегистрирован: 11.02.10
|
|
Отправлено: 16.12.11 13:25. Заголовок: Петр пишет: Григори..
Петр пишет: цитата: | Григорию хотелось бы посоветовать, поскольку в сборку MiniGUI не включается ChangeLog Harbour |
| Петр, Вы абсолютно правы, но это выходит за рамки поддержки графической библиотеки. К тому же, эти изменения в Харборе относятся к нетипичному способу блокировки при использовании драйвера DBFNSX. Это демонстрирует следующий пример: цитата: | #include "dbinfo.ch" PROCEDURE Main() rddSetDefault( "DBFNSX" ) hb_rddInfo( RDDI_LOCKSCHEME, DB_DBFLOCK_HB64, "DBFNSX" ) dbCreate( "test.dbf", { { "T1", "C", 10, 0 } } ) USE test EXCLUSIVE INDEX ON FIELD->T1 TAG test1 TO test USE test SHARED browse() RETURN |
| Я надеюсь, что те, кто использует конструкции вида цитата: | hb_rddInfo( RDDI_LOCKSCHEME, DB_DBFLOCK_HB64, "DBFNSX" ) |
|
внимательно следят за обновлениями Харбора
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1043
Зарегистрирован: 09.10.06
|
|
Отправлено: 16.12.11 14:28. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | это выходит за рамки поддержки графической библиотеки. |
| Ок цитата: | внимательно следят за обновлениями Харбора |
| Я тоже надеюсь Для "невнимательных" * harbour/src/vm/classes.c * disabled inheriting of class variables values from ancestor classes when new class is dynamically created. Warning: INCOMPATIBLE! This modification is not backward compatible and can interact with some existing code which has to be updated for new behavior. Я знаю Ваше отношение к ООП
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 310
Зарегистрирован: 11.02.10
|
|
Отправлено: 26.12.11 11:44. Заголовок: Обновил полную сборк..
|
|
|
a_sidorov
|
| |
Пост N: 17
Зарегистрирован: 07.06.08
|
|
Отправлено: 30.12.11 10:49. Заголовок: Делаю задачу на Mini..
Делаю задачу на MiniGui С какими проблемами столкнулся: 1. Мышка реагирует не на объект, расположенный сверху другого объекта, а на тот объект, который раньше определен, независимо от его вида на экране. Пришлось переставлять определения объектов. 2. Объекты, расположенные на окне ТАВ, на самом деле прорисовываются и вне окна TAB (они действительно определяются как объекты окна Window, TAB только определяет их видимость и здесь мышь работает корректно, определяя только видимые объекты на закладке). 3. При работе с цветами желательно сразу прописать какой либо цвет при определении объекта, и если вычисляемый цвет не работает, нужно проверить, было ли определение цвета при определении объекта. В основном все проблемы решил, в том числе, сделал динамическое изменение всех размеров объектов в окне задачи при изменения размеров окна, изменение всех цветов по темам, градиентную прорисовку кнопок, выделение рисунков и подписей при подведении мыши. Теперь о проблеме, в которую уперся. Необходимо было нарисовать закладки TAB в другом месте и красиво. Попробовал на Buttоnex с градиентной заливкой (помогли примеры)- получается нормально, потом начал рисовать при помощи Label с дорисовкой графикой DRAW LINE IN WINDOW, DRAW ARC IN WINDOW. Оказалось, что графика в Windows XP (SP3) работает некорректно. Это можно видеть на примерах, приведенных в дистрибутиве (наример, Basic/BaseGraph и других тоже). Если запустить пример, затем запустить любую новую задачу, которая закроет окно примера, затем сбросить окно новой задачи на панель задач, то на примере останется все кроме графики – то есть практически пустое окно. На Windows-7 все работает корректно, окно задачи восстанавливается вместе с графикой. Проблема из той же серии – при сбросе своей задачи на панель задач и ее восстановлении на экране графика не восстанавливается (на XP). В приведенных примерах прорисовка графики прописывается в методе ON INIT (либо возможность закрывается), у меня не получилось. Попробовал ON RESTORE, непонятно вообще когда метод вызывается. Пока рабочий вариант ON MINIMIZE {||fl_minimize:=70}; ON PAINT {||if(fl_minimize>0,(form_graph_tab(),fl_minimize--),)}; При прорисовке большого числа линий (>30) этот метод тоже начинает глючить. Может быть есть решение проблемы рисования графики? Нужно нарисовать красивые кнопки с кривыми краями и тенями. Может быть рисовать (заливать) внутри окна Label? Буду искать пример, если кто-то поможет, буду рад.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 282
Зарегистрирован: 13.10.05
|
|
Отправлено: 30.12.11 11:49. Заголовок: сделал динамическое ..
цитата: | сделал динамическое изменение всех размеров объектов в окне задачи при изменения размеров окна, |
| Использовал прием из примеров или что-то свое?
|
|
|
a_sidorov
|
| |
Пост N: 18
Зарегистрирован: 07.06.08
|
|
Отправлено: 30.12.11 12:20. Заголовок: Пересчет всех размер..
Пересчет всех размеров окон производится считыванием из свойств окна задачи, умножением размеров других окон на множитель или изменение и запись в свойства окон. Типа (в функции пересчета размеров): //из свойств основного окна aWindowsYX[3]:= Form_1.HEIGHT //либо передвигаем окна form_1.img_oper.row:=aWindowsYX[3]-93 //либо масштабируем aadd(ascale,(aWindowsYX[3])/(aoldWindowsYX[3])) -- string_prg2:= round(oldstring_prg2*aScale,0) -- form_1.Main_LBL_txt.HEIGHT:=string_prg2[3]
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1978
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.01.12 15:49. Заголовок: a_sidorov пишет: Ок..
a_sidorov пишет: цитата: | Оказалось, что графика в Windows XP (SP3) работает некорректно. Это можно видеть на примерах, приведенных в дистрибутиве (наример, Basic/BaseGraph и других тоже). Если запустить пример, затем запустить любую новую задачу, которая закроет окно примера, затем сбросить окно новой задачи на панель задач, то на примере останется все кроме графики – то есть практически пустое окно. На Windows-7 все работает корректно, окно задачи восстанавливается вместе с графикой. Проблема из той же серии – при сбросе своей задачи на панель задач и ее восстановлении на экране графика не восстанавливается (на XP). В приведенных примерах прорисовка графики прописывается в методе ON INIT (либо возможность закрывается), у меня не получилось. Попробовал ON RESTORE, непонятно вообще когда метод вызывается. Пока рабочий вариант ON MINIMIZE {||fl_minimize:=70}; ON PAINT {||if(fl_minimize>0,(form_graph_tab(),fl_minimize--),)}; При прорисовке большого числа линий (>30) этот метод тоже начинает глючить. Может быть есть решение проблемы рисования графики? Нужно нарисовать красивые кнопки с кривыми краями и тенями. Может быть рисовать (заливать) внутри окна Label? Буду искать пример, если кто-то поможет, буду рад. |
| Я тоже сталкивался с такой проблемой. Думал, что я не понимаю как НУЖНО делать и забросил.... Буду очень рад услышать как решить такие проблемы.
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1060
Зарегистрирован: 09.10.06
|
|
Отправлено: 07.01.12 18:20. Заголовок: Andrey пишет: Буду ..
Andrey пишет: цитата: | Буду очень рад услышать как решить такие проблемы |
| Перефразируя Е.Гайдара можно сказать - есть два пути для выхода из кризиса. Реалистический, если прилетят инопланетяне, и все за нас сделают. И фантастический, если мы все сделаем сами. Реалистический путь - переход на Win7
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 1990
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.01.12 18:46. Заголовок: Петр пишет: Реалист..
Петр пишет: цитата: | Реалистический путь - переход на Win7 |
| Тогда дело труба.... У меня много юзеров на ХР сидят....
|
|
|
Dr. Oldwarez
|
| постоянный участник
|
Пост N: 186
Зарегистрирован: 27.07.08
|
|
Отправлено: 09.01.12 14:32. Заголовок: Не люблю семёрку
Andrey пишет: цитата: | Тогда дело труба.... У меня много юзеров на ХР сидят.... |
| Я тоже сижу на XP и совсем не хочу пересаживаться на семёрку. Мой шеф на ХР работает, а семёрки у него нет. Я тоже семёрки не хочу - большинство моих ноутов с ней просто несовместимы. Например субноутбук Sony Vaio PCG SR1K. А XP там отлично работает! Ещё одна причина моей нелюбви к XP и Висте (которая всегда висла, виснет и будет виснуть) - то, что там постоянно вылазят совершенно идиотские вопросы, вроде: "являетесь ли вы администратором" если надо, к примеру, скопировать файл в другую директорию. Ага, щазз я им всё скажу! Единственный случай, когда применение семёрки оправдано - если оперативная память превышает 3 Гб.
|
|
|
|
krutoff
|
| |
Пост N: 150
Зарегистрирован: 17.10.05
|
|
Отправлено: 09.01.12 14:36. Заголовок: Массив ToolTip
Не работает множественный ToolTip. Видно в примере MAINDEMO_(SYNTAX_I), в BTNTEXTBOX Text_3 ToolTip вообще не показывает. Это конечно вроде и мелочь, но при наличии двух кнопок и ввода в GetBox или BTNTEXTBOX бывает надо указать подсказки по всем этим кнопкам...
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 312
Зарегистрирован: 11.02.10
|
|
Отправлено: 10.01.12 15:33. Заголовок: krutoff пишет: при ..
krutoff пишет: цитата: | при наличии двух кнопок и ввода в GetBox или BTNTEXTBOX бывает надо указать подсказки по всем этим кнопкам... |
| Да, Вы правы В следующей сборке будет доступен переработанный элемент управления BTNTEXTBOX (и GetBOX также) с поддержкой множественного ToolTip. Кстати, код примера MAINDEMO_(SYNTAX_I), включенный в текущую сборку, был обновлен именно для демонстрации этой возможности
|
|
|
a_sidorov
|
| |
Пост N: 19
Зарегистрирован: 07.06.08
|
|
Отправлено: 11.01.12 11:19. Заголовок: Проблема графики в X..
Проблема графики в XP (при наложении окон и восстановления окна задачи) решается, если взять прорисовку графики из примера SAMPLES\Advanced\Curves, и в DrawCurves() вместо рисования кривой поставить вызов своей функции перерисовки графики.
|
|
|
a_sidorov
|
| |
Пост N: 20
Зарегистрирован: 07.06.08
|
|
Отправлено: 18.01.12 11:45. Заголовок: Добил графику в XP (..
Добил графику в XP (на 98 тоже работает): 1. Для того, чтобы не стиралась графика при сбросе и перекрытии окон, сделал как в SAMPLES\Advanced\Curves 2. Чтобы иногда не стирались тексты в других окнах (Label), ERASE WINODWS использую только при смене графики if !l_old_page==l_page ERASE WINDOW Form_1 CLEAN MEMORY l_old_page:=l_page endif 3. Поставил обращение к функции перерисовки графики либо к RefreshPaint() после некоторых операций (только если не срабатывала), например после CENTER WINDOW 4. Сделал в функции рисования линии или кривой локальную копию переменной с массивом цветов перед обращением к рисованию кривой либо линии (иногда был эффект исчезновения цвета). При рисовании линий и теней использовал последовательную многократную (5 проходов с градацией цвета) обрисовку LABEL при помощи DRAW ARC IN WINDOW и DRAW LINE IN WINDOW. Общее количество линий больше 70. Работает нормально.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 313
Зарегистрирован: 11.02.10
|
|
Отправлено: 20.01.12 14:50. Заголовок: АНОНС * АНОНС * АНОН..
АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Завершена подготовка к опубликованию новой версии 2.0.6, которая выйдет на следующей неделе. Кратко, что нового: - добавлены обещанные ранее улучшения: 1) переработан код элемента управления BtnTextBox - добавлена поддержка тем Винды и смена картинки на кнопке(ах); 2) переработан код элемента управления GetBox в части поддержки встроенной в него кнопки; - обновлена сборка Харбора версии 3.1.0dev, HMGS-IDE, библиотеки HbPrint, PropGrid и TsBrowse; - добавлены новые и обновлены старые примеры (как обычно ) Спасибо за внимание!
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 314
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.01.12 11:46. Заголовок: Новый релиз библиоте..
|
|
|
sashaBG
|
| постоянный участник
|
Пост N: 98
Зарегистрирован: 15.09.05
|
|
Отправлено: 25.01.12 00:40. Заголовок: Проблема с FOCUSEDCONTROL для BTNTEXTBOX !
Выполните етот код : цитата: | #include "minigui.ch" Function Main set navigation extended DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 500 HEIGHT 300 ; TITLE 'Harbour MiniGUI Demo ' ; MAIN DEFINE LABEL LABEL_5 COL 10 ROW 90 VALUE "Press F1 or Click on buttons ( FOCUSEDCONTROL Not working !!!)" AUTOSIZE .T. FONTNAME "Arial" FONTSIZE 10 VISIBLE .T. END LABEL DEFINE BTNTEXTBOX BTNTEXTBOX_DOST COL 90 ROW 115 WIDTH 140 HEIGHT 20 TOOLTIP "" ACTION do_help() BUTTONWIDTH 20 FONTNAME "tahoma" FONTSIZE 10 FONTCOLOR {0,0,0} MAXLENGTH 14 VISIBLE .T. TABSTOP .T. END BTNTEXTBOX DEFINE BTNTEXTBOX BTNTEXTBOX_SKA41 COL 90 ROW 135 WIDTH 140 HEIGHT 20 TOOLTIP "" ACTION do_help() BUTTONWIDTH 20 FONTNAME "tahoma" FONTSIZE 10 FONTCOLOR {0,0,0} MAXLENGTH 5 VISIBLE .T. TABSTOP .T. END BTNTEXTBOX END WINDOW Form_1.Center ON KEY F1 OF Form_1 ACTION DO_HELP() Form_1.Activate Return Nil *-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._. STATIC FUNCTION DO_HELP( ) LOCAL cControl := FORM_1.FOCUSEDCONTROL msginfo(cControl) return nil |
| Когда нажимаем на кнопку FOCUSEDCONTROL возвращает пустой стринг ! Раньше работало нормально .
|
|
|
alex_II
|
| |
Пост N: 61
Зарегистрирован: 12.07.06
|
|
Отправлено: 25.01.12 09:34. Заголовок: Переход на релиз 2.0..
Переход на релиз 2.0.6 прошел нормально Отличная работа Григорий Большое спасибо
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 315
Зарегистрирован: 11.02.10
|
|
Отправлено: 25.01.12 13:24. Заголовок: sashaBG пишет: Когд..
sashaBG пишет: цитата: | Когда нажимаем на кнопку FOCUSEDCONTROL возвращает пустой стринг |
| Благодарю за сообщение об ошибке! Вы можете скачать для проверки исправленную версию библиотеки по адресу архив Примечание. Эта ссылка будет доступна в течение 10 дней
|
|
|
Новых ответов нет
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[см. все]
|
|