powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Пример использования Send(...) для отправки значения полю DW
26 сообщений из 26, показаны все 2 страниц
Пример использования Send(...) для отправки значения полю DW
    #35543899
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заранее спасибо
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35543965
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясните, чего Вы хотете этим достичь?
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35544099
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал окно с цифровой клавиатурой. Когда нажата кнопка посылается значение в соответствующий контрол. все работает скажем для sle, em, button. Для dw работает но значение в поле приходит с опозданием. Наблюдается ситуация что щелкнул на трех кнопках а потом на кнопке ентер на цифровой клавиатуре и только после этого значение появляется в поле dw.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35544114
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
my example:
Send(ll_HWnd,258, Asc(as_keybutton), as_keybutton)
ll_HWnd - is handle dw
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35544179
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так значение во внутренний буффер ДВ приходит только после AcceptText()
т.е. все правильно.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35544405
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эт понятно. но эту проблему необходимо решить.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545257
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykolaсделал окно с цифровой клавиатурой. Когда нажата кнопка посылается значение в соответствующий контрол. все работает скажем для sle, em, button. Для dw работает но значение в поле приходит с опозданием. Наблюдается ситуация что щелкнул на трех кнопках а потом на кнопке ентер на цифровой клавиатуре и только после этого значение появляется в поле dw.
А зачем для этого Send использовать?
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545331
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
цифровая клавиатура пишется для существующего проекта. К сожелению в нем нет чтоб все dw наследовались от базового dw. или чтоб editmask наследовались от базового editmask. Если было наследование задачка б решалась быстро. Вариант ввести наследование рассматривается, но на него потребуется время.

Думаю есть и другие варианты решения даной задачи. Но я пока не нашел. Буду благодарен за подсказку.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545353
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykolaцифровая клавиатура пишется для существующего проекта. К сожелению в нем нет чтоб все dw наследовались от базового dw. или чтоб editmask наследовались от базового editmask. Если было наследование задачка б решалась быстро. Вариант ввести наследование рассматривается, но на него потребуется время.

Думаю есть и другие варианты решения даной задачи. Но я пока не нашел. Буду благодарен за подсказку.
Видимо я чего-то недопонимаю... В момент "печатания" на т.н. цифровой клавиатуре известна "цель" в которую цифры попасть должны?
Если да, то почему штатными методами не пользоваться?
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545363
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. если рассматривать вариант что контролы наследованы от своих базовых тогда цель известна.

2. в ситуации сейчас цель неизвестна.

3. возможно я должен искать другой вариант решения.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545366
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в OC есть osk.exe, вот мне необходимо реализовать такое только для цифровой клавиатуры + несколько определенных кнопок
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545424
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykola1. если рассматривать вариант что контролы наследованы от своих базовых тогда цель известна.
2. в ситуации сейчас цель неизвестна.

Непонятно, почему...
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545443
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
в gnv_app объявим GraphicObject ggo_Control

в базовом объекте (но сделать чтоб все контролы имели базовый трудоемкая задача по времени) в losefocus()
gnv_app.ggo_Control = getfocus()
для dw можем еще определить current column

теперь известна цель

для такого варианта я и пробовал send и привычный подход pb



2.
а как она будет известна если пользователь ушел в окно "цифровой клавиатуры" и уже не известно с какого окна и контрола. Но по логике если воспользоваться функциями API то мы должны получить Handle контрола с которого ушел пользователь. Правда у меня что то не получилось.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545454
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как происходит уход пользователя в окно "цифровой клавиатуры"?
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545459
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
окно "ЦК" есть Popup + PaletteWindow = True
и размещается всегда правее активного окна
приложение не MDI
В любой момент пользователь может перейти на окно "ЦК"
например кликом на заголовке окна или на необходимой ему кнопке (набор кнопок это dw).
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35545886
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если у тебя в ЦК есть ссылка на объект-цель, то почему-бы тебе не определять что за тип объекта
и если это ДВ то вызывать ф-ю acceptText() ? (например)
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35546015
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на данный момент ее нету.
Она будет если я реализую идею под номером 1. Проект большой, потребуется время. Вот я и в поисках инных вариантов решения.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35546326
VanoR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать в каждом окне (или в родителях, если они есть) метод под одним названием, и дергать его этой виртуальной клавиатурой.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35547220
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mykolaна данный момент ее нету.
Она будет если я реализую идею под номером 1. Проект большой, потребуется время. Вот я и в поисках инных вариантов решения.
глупости.
gnv_app.ggo_Control = getfocus()

определяешь тип обьекта в ggo_Control и если он datawindow! вызываешь dynamic accepttext()

никаких базовых обьектофф создавать не надо.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35547365
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.. Mykolaна данный момент ее нету.
Она будет если я реализую идею под номером 1. Проект большой, потребуется время. Вот я и в поисках инных вариантов решения.
глупости.
gnv_app.ggo_Control = getfocus()

определяешь тип обьекта в ggo_Control и если он datawindow! вызываешь dynamic accepttext()

никаких базовых обьектофф создавать не надо.
Нда, только getfocus будет возвращать datawindow цифровой клавиатуры...
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35547369
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mykolaокно "ЦК" есть Popup + PaletteWindow = True
и размещается всегда правее активного окна
приложение не MDI
В любой момент пользователь может перейти на окно "ЦК"
например кликом на заголовке окна или на необходимой ему кнопке (набор кнопок это dw).
Вот в этом дизайне и заложена твоя проблема ...
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35551795
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не уверен.
Эти свойства на команду Send() не имеют влияния
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35552919
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MykolaНе уверен.
Эти свойства на команду Send() не имеют влияния
А чего тут быть неуверенным? :-) Твоя цифровая клавиатура не знает кто её клиент, в ЭТОМ проблема её дизайна...
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35590770
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сделал базовые объкты для проекта.
2. Все объекты проекта наследуются от своих базовых
3. Работа цифровой клавиатуры реализована средствами PB
Есть несколько моментов
1. Если пользователь кликает на цифровой клаве фокус уходит из активного окна. Как запретить уход фокуса
2. Цифры в поля DW вбиваются но есть проблемы с использованием клавиш Enter, Tab. не вызываются соответствующие события DW.
Буду благодарен за помощь.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35591071
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не знаю поможет-ли...

1. тулбар-окно не забирает фокус.
чайлд окно не забирает фокус.
видел реализацию тулбаров в любых окнах билдера.

2. когда датавиндов активно, поверх него создаются окна для ввода значений, по одному для каждого типа поля.
например одно окно типа "EDIT" для всех полей типа edit.
при этом, окно является активным/видимым только если датавинтов активное.
можно находить это единственное активное окно, родителем которого является дадавиндов, и именно в него посылать ENTER.
...
Рейтинг: 0 / 0
Пример использования Send(...) для отправки значения полю DW
    #35594176
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще нашел проблему
если окно response данные в его контролы не вставляются из цифровой клавиатуры
Это понятно но как его решить
Один из вариантов это использовать цифровую клавиатуру как пользовательский объект в каждом окне.
Может есть другие варианты.
Спасибо
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Пример использования Send(...) для отправки значения полю DW
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]