On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение





Пост N: 235
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 06.03.24 17:16. Заголовок: TSMulti


Хочу поделиться.
Задача - отредактировать Memo-поле или большое символьное в TSBrowse-ARRAY по колонке oCol:lEditBox == .T.
Прочитал предложения SergKis http://clipper.borda.ru/?1-1-1709733751228-00000593-000-10001-0#002.001.001.001.001.002
По Ctrl+W никак не выхожу на METHOD KeyDown( nKey, nFlags ) CLASS TSMulti. На окне Ctrl+W не задействована.
Поставил отладку в метод KeyDown в TSMulti, TControl -проверил - не заходит.
Пришлось использовать ON KEY CONTROL+W ACTION - блок взял у SergKis - спасибо!
Но метод Save() TSMulti не присвоил новое значение полю в TSBrowse-ARRAY.
Получилось спомощью такого кода - вместо метода Save() в ON KEY CONTROL+W ACTION поставил:
oBrw:aColumns[ oBrw:nCell ]:oEdit:KeyDown(VK_TAB, 0) - все отработало!

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]


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




Пост N: 7710
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.03.24 20:26. Заголовок: Делай самодостаточны..


Делай самодостаточный пример.
Так не понятно.

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




Пост N: 4542
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.03.24 20:39. Заголовок: Andrey пишет Делай с..


Andrey пишет
 цитата:
Делай самодостаточный пример.
Так не понятно.


Понятно все, где то отрубился обработчик к TsMulti ( ::Create("EDIT") ), т.к. нет вызовов
 
METHOD KeyDown( nKey, nFlags ) CLASS TSMulti
_logfile(.T., Procname(), nKey, upper(chr(nKey)), nFlags)
...
METHOD KeyChar( nKey, nFlags ) CLASS TSMulti
_logfile(.T., Procname(), nKey, upper(chr(nKey)), nFlags)
...
вызов есть тут
METHOD HandleEvent( nMsg, nWParam, nLParam ) CLASS TSMulti
_logfile(.T., Procname(), nMsg, nWParam, nLParam)

RETURN ::Super:HandleEvent( nMsg, nWParam, nLParam )

Примеры с Memo тут https://TransFiles.ru/m049k

Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 236
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 07.03.24 13:43. Заголовок: Сергей, спасибо за п..


Сергей, спасибо за пример!
При запуске вашего demo.exe у меня получилась такая картинка
click here
Перекомпилировал у себя - и при вводе в в поле NOTES Ctrl+W не отрабатывает.
demo2.exe ваш нативный - тоже - при редактировании в поле NOTES Ctrl+W не ловится.

Версия Harbour MiniGUI Extended Edition 24.01 (Release)

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2296
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.03.24 13:56. Заголовок: krutoff пишет: при ..


krutoff пишет:

 цитата:
при редактировании в поле NOTES Ctrl+W не ловится.


Я добавил обработку Ctrl+W в пример demo2, и он отработал сохранение поля нормально.
Полный код примера см. ниже
Скрытый текст


Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 237
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 07.03.24 14:22. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Я добавил обработку Ctrl+W в пример demo2


Спасибо, Григорий! Так и я о том же - Ctrl+W обрабатывается только
через ON KEY CONTROL+W.
По умолчанию, т.е. через методы KeyChar, KeyDown класса TSMulti (там это прописано) - не отрабатывает.

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




Пост N: 4543
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.03.24 14:36. Заголовок: krutoff пишет При за..


krutoff пишет
 цитата:
При запуске вашего demo.exe у меня получилась такая картинка


У меня hmg 24.02 установлен в C:\MiniGuiBcc58, файл BATCH\minigui.cfg
 
# Basic configuration for Compile.bat
MG_CMP=harbour
MG_BCC=c:\borland\bcc58
MG_ROOT=c:\miniguiBcc58

Сборка примера Compile.bat дает правильную картинку с SuperHeader, Header надписями и колонками растянутые, как надо. Ответить почему у вас так вышло, не смогу, не знаю. Пример этот взял из более ранних версий hmg.

 цитата:
Перекомпилировал у себя - и при вводе в в поле NOTES Ctrl+W не отрабатывает.
demo2.exe ваш нативный - тоже - при редактировании в поле NOTES Ctrl+W не ловится.


Мой demo2.exe собран на tsbrowse.lib с изменениями, показанными выше, он рассчитан (так было раньше) на внутреннюю отработку Ctrl+W, но методы :KeyDown, :KeyChar не получили управление. Внешних установок Ctrl+W я не делал. Григорий, добавил и все отработало как надо.

Спасибо: 1 
ПрофильЦитата Ответить





Пост N: 238
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 07.03.24 16:02. Заголовок: Ок, спасибо Всем!..


Ок, спасибо Всем!

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 49
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет