Форум » GUI » Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение) » Ответить

Новая версия Расширенного релиза библиотеки MiniGUI (часть VI ) (продолжение)

gfilatov: Начало темы находится здесь, а теперь АНОНС * АНОНС * АНОНС * АНОНС * АНОНС Готовится к опубликованию новая сборка №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: SergKis пишет: более четко отрабатывает установленный на колонки :nEditMove алгоритм Я полностью доверяю Вашему программисткому чутью, потому что Вы - практик Большое спасибо за Вашу помощь

SergKis: PS Пример Tsb_addrecord_3. Line 94 добавляем[pre2] :lCellBrw := .T. :lPostEditGo := .F. и F4 прекрасно исполняет :nEditMove колонки Пример App_TsbBox demo_misc.prg добавляем sCols( Cust.COUNTRY, cHeading, 'Country' ) sCols( Cust.COUNTRY, nLineStyle , LINES_HORZ ) sCols( Cust.COUNTRY, nHLineStyle, LINES_HORZ ) sCols( Cust.COUNTRY, nFLineStyle, LINES_HORZ ) sCols( Cust.CITY, nLineStyle, LINES_HORZ ) sCols( Cust.CITY, cHeading, 'City' ) получили объединенную колонку [/pre2]

gfilatov2002: Выпустил новую сборку 19.04 для BCC 5.5.1 и компиляторов Harbour и xHarbour. Базовый дистрибутив находится по адресу http://hmgextended.com/files/CONTRIB/hmg-19.04-setup.exe Также имеются дополнительные сборки для следующих Си-компиляторов: - MinGW 8.3.1 32-bit для Harbour 3.2.0dev; (есть в наличии) - MinGW 8.2.0 64-bit для Harbour 3.4.0dev; (есть в наличии) - MS VisualC 2017 32-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - MS VisualC 2017 64-bit для Harbour 3.2.0dev; (путь и имя архива не изменял) - Pelles C 8.0 32-bit для xHarbour b10244; (под заказ) - Pelles C 9.0 64-bit для xHarbour b10244; (под заказ) - Borland/Embarcadero C++ 7.3 (32-bit) для Harbour 3.2.0dev; (под заказ) - Borland/Embarcadero C++ 7.4 (32-bit) для Harbour 3.2.0dev; (под заказ) NEW - Open Watcom C/C++ 2.0 (32-bit) для Harbour 3.2.0dev. (под заказ) Благодарю за Ваше внимание


Andrey: Григорий, а можно сделать тихое обновление под новую сборку 19.04 с учётом предложения для [pre2]::nClrLine := ::nCLR_GRAY // изменить цвет линий между ячейками таблицы [/pre2] А то новой версии долго ждать придётся... Заранее БОЛЬШОЕ СПАСИБО !

gfilatov2002: Andrey пишет: можно сделать тихое обновление OK, завтра сделаю

gfilatov2002: Обновил установщик сборки 19.04 с учетом пожелания Andrey. Что нового: - добавил новую переменную :nCLR_Lines класса TSBrowse в метод Enabled() для установки цвета линий сетки при блокировке грида.

SergKis: gfilatov2002 Возвращаясь к вопросу, озвученного Haz С какой целью в METHOD TSBrowse:Edit() в CheckBox игнорируется VK_RETURN ? в теме http://clipper.borda.ru/?1-1-0-00000526-000-280-0 В некоторых ситуациях, на ChecBox проще производить действия, чем используя :aBitMaps на цифрах и отсутствие VK_RETURN мешает. Давайте добавим, предложенное Игорем, с правкой[pre2] DATA lCheckBoxNoReturn INIT .T. ... METHOD Edit( uVar, nCell, nKey, nKeyFlags, cPicture, bValid, nClrFore, ; ... If cType == "L" .and. oCol:lCheckBox If nKey != VK_RETURN .or. ! ::lCheckBoxNoReturn If Upper( Chr( nKey ) ) $ "YCST1" ::lChanged := uVar == .F. uVar := .T. ElseIf Upper( Chr( nKey ) ) $ "FN0" ::lChanged := uVar == .T. uVar := .F. ElseIf nKey == VK_SPACE .or. nKey == VK_RETURN uVar := ! uValue ::lChanged := .T. Else Return 0 EndIf ... [/pre2]

gfilatov2002: SergKis пишет: на ChecBox проще производить действия Теперь стало понятнее предложение Игоря SergKis пишет: Давайте добавим, предложенное Игорем, с правкой Добавлю, конечно... Благодарю за разъяснение P.S. Снова обновил установщик сборки 19.04 с учетом вышеуказанных изменений в TSBrowse

SergKis: gfilatov2002 Меня дернули, стояли над душой, потому отослал с ошибкой, ИЗВИНИТЕ. Это должна быть не глобальная установка, а установка на колонку с CheckBox, т.е.[pre2] CLASS TSColumn DATA lCheckBoxNoReturn INIT .T. и If nKey != VK_RETURN .or. ! oCol:lCheckBoxNoReturn [/pre2]

SergKis: PS С глобальной то же можно, но трудности будут при наличии в строке нескольких ChecBox, а VK_RETURN нужен не всем

gfilatov2002: SergKis пишет: должна быть не глобальная установка, а установка на колонку с CheckBox Поправил и перезалил исправленный установщик Благодарю за помощь

Haz: gfilatov2002 пишет: Теперь стало понятнее предложение Игоря Только мне расскажите зачем VK_RETURN в игноре. Не понимаю как это помогает работать с чекбоксом Я не придираюсь. Хочу понять логику автора

SergKis: Haz пишет Не понимаю как это помогает работать с чекбоксом Вроде, если поставить oCol:nEditMove != 0, не помню на память, то по VK_RETURN должна исполнится команда перемещения на др. колонку или строку и колонку

Haz: SergKis пишет: Вроде, если поставить oCol:nEditMove Так это по любой колонке ПОСЛЕ редактирования. А сейчас по ENTER не пускает в редакцию. И я не врубаюсь зачем это сделано

SergKis: Haz В данном случае, если колонка lEdit == .T., то Enter просто переместится на след. колонку без исправления. В этом логика есть. К примеру всегда ставлю на combobox NOTABSTOP, т.к. стрелками легко сбить значение. Тут такой же случай, тыкаем enter на колонках, без реальной модификации и допрыгиваем до нужной колонки. Перепрыгивая и CheckBox без изменений.

gfilatov2002: Haz пишет: я не врубаюсь зачем это сделано Возможно, автор библиотеки хотел имитировать поведение обычного CheckBox, который не изменяет свое значение при нажатии клавиши Enter, а реагирует на ПРОБЕЛ

Haz: SergKis пишет: Перепрыгивая и CheckBox без изменений. Это аргумент, но все равно слабоват. т. е. защита о дурака. Тогда логичнее было бы делать запрет VK_RETURN только при nEditMove <> 0

Haz: gfilatov2002 пишет: Возможно, автор библиотеки хотел имитировать поведение обычного CheckBox, который не изменяет свое значение при нажатии клавиши Enter, а реагирует на ПРОБЕЛ Да, Сергей примерно о том же говорит. Но у меня пользователи практически до оргазма доходят в попытках энтером переключить значение чекбокса. Думаю все же опциональность здесь точно необходима. Спасибо, мысль автора пррояснили.

SergKis: Haz пишет Думаю все же опциональность здесь точно необходима. К примеру :nEditMove - перемещение на след. строку на CheckBox (ставим по опции, до этого прыгала по горизонтали) Тогда: Space - ставим\снимаем галочку и переходим на след. строку в той же колонке. Enter просто перемещает на след. строку в той же колонке. В целом удобно, без мыши проделать операции.

SergKis: Haz пишет Думаю все же опциональность здесь точно необходима. Можно сделать, что бы не вводить, переменную tsbrowse[pre2] METHOD LoadFields( lEditable, lChecBoxNoReturn ) CLASS TSBrowse ... If cType == "L" ATail( ::aColumns ):lCheckBox := .T. If HB_ISLOGICAL(lChecBoxNoReturn) ATail( ::aColumns ):lCheckBoxNoReturn := lChecBoxNoReturn EndIf EndIf ... [/pre2] или вводить переменную tsbrowse в Nil и в tscolumn для checkbox:lChecBoxNoReturn устанавливать от нее, если задана



полная версия страницы