|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Не удается отловить нажатие клавиши Win (RWin, LWin) в datawindow. Пробовал в событии other datawindow обработать WM_KEYDOWN Код: plaintext 1. 2. 3. 4.
Код: plaintext
Пробовал в обработчике pbm_dwnkey использовать функции GetKeyState и GetAsyncKeyState, чтобы считать состояние клавиш Win. Первая почти всегда возвращают 1 для RWin даже в том случае, если она не была нажата, а для возвращает всегда 1 после первого нажатия. Вторая возвращает всегда 0. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 16:36 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Смапируй событие в dw pbm_dwnkey и все будет хорошо ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 16:42 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Извиняюсь, поторопился Что писал в pbm_dwnkey? Если тот код, что выше, то он там работать не будет ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 16:45 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Коды этого диапазона не обрабатываются Код: plaintext 1. 2. 3.
Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 16:54 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
spas2001, то, что в обработчике pbm_dwnkey как и в pmb_keydown напрямую проверить по keycode нажатие RWin или LWin нельзя, я знаю. Тем не менее, это нужно как-то сделать. Почему pbm_other для datawindow стандартным образом не обрабатывается - вот что непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 17:08 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Тут всё неоднозначно. Если у вас DW НЕ editable, то всё отрабатывает, DW получает WM_KEYDOWN с VK_L(R)WIN. Если DW editable и фокус в редактируемой колонке, то Edit Control, а НЕ DW получает WM_KEYDOWN, но никаких notifications в DW не посылает (В него только EN_KILLFOCUS через WM_COMMAND приходит и всё). Но самое главное - ЗАЧЕМ вам это? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 21:29 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Есть хитрый userobject - поле ввода, при наведении мыши на который открывается всплывающее дочернее окно с editable datawindow внутри. Это окошко фиксируется на экране, если на него кликнуть и убирается, если увести мышь с поля ввода или с самого окошка. Нужно, не привязываясь к обработчикам событий родительских окон (т.е. тех, на которых будут размещаться userobjects), правильно обрабатывать "деактивацию" приложения - закрывать окошко при переключении на другое приложение. Все работает хорошо за исключением случаев, когда другие приложения запускаются с помощью системных горячих клавиш (Win+Break, например). Вот я и пытаюсь отлавливать эти нажатия - по-просту закрывать окошко, когда пользователь нажимает на Ctrl, Alt, Win. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 10:53 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Филипп, под editable подразумевается DisplayOnly для поля? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 11:47 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Может все-таки деактивацию вылавливать чем все кнопки ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 13:04 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
spas2001, кнопок-то 3 штуки, а форм, на которых будет размещаться uo - сколько угодно и для каждой прописывать deactivate неудобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 13:24 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Так уж и быть, повешу на deactivate главной формы. Раз уж отловить win в dw не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 14:55 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
попробовал у себя в pbm_dwnkey Код: plaintext
с правым Win не пробовал, так как у меня на буке его нету :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 15:22 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Дело в том что если стоит какая-то прога типа перекодировщика на-лету может и не отрабатывать ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 16:59 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
ну если только перекодировщик на лету (не знаю че эт такое.... если Punto, то у меня стоит и нормально все) то и все остальное в pbm_dwnkey тоже перестанет работать ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 17:10 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Anton LosevФилипп, под editable подразумевается DisplayOnly для поля? Подразумевается что фокус в Datawindow, но НЕ в edit controle Datawindow... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 18:27 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
VanoRпопробовал у себя в pbm_dwnkey Код: plaintext
с правым Win не пробовал, так как у меня на буке его нету :) Если фокус в Datawindow, но НЕ в edit controle Datawindow, то сработает, иначе - нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 18:30 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Здорово, не знал про KeyLeftWindows! Спасибо всем, по-моему ответы теперь довольно исчерпывающи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 10:11 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Подниму тему: Есть форма , в ней dw с редактируемыми полями. Внизу есть кнопки типа Сохранить. Пользователь хочет навесить алгоритм, чтобы при нажатии F12 - отрабатывал вызов кнопки Сохранить... На форме это работает без проблем: if keydown (KeyF12!) then cb_save_add.event clicked() end if А вот на dw даже на событии pm_dwnkey , нет потому как курсор горит в фокусе одного из полей. Message.number тоже не особо помог. Проблема имеет решение, если да то поделитесь плиз! PowerBuilder 9.0 Спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 14:16 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Через ChangeMenu привесить меню, но не отображать Туда прописать hotkey F12 Должно сработать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 17:34 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
boogimanПодниму тему: Есть форма , в ней dw с редактируемыми полями. Внизу есть кнопки типа Сохранить. Пользователь хочет навесить алгоритм, чтобы при нажатии F12 - отрабатывал вызов кнопки Сохранить... На форме это работает без проблем: if keydown (KeyF12!) then cb_save_add.event clicked() end if А вот на dw даже на событии pm_dwnkey , нет потому как курсор горит в фокусе одного из полей. Спасибо... У меня на событии pm_dwnkey , когда курсор горит в фокусе одного из полей, срабатывает на раз: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2011, 21:20 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
ФилиппУ меня на событии pm_dwnkey , когда курсор горит в фокусе одного из полей, срабатывает на раз: Код: sql 1. 2. 3.
Попробовал не работает, у меня обычный тип dw - может быть у вас , как то другой тип или оции на ячейках стоят какие то хитрые? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 08:23 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
spas2001Через ChangeMenu привесить меню, но не отображать Туда прописать hotkey F12 Должно сработать Это если честно не понял, как это сделать? Меню для dw или для window? Просто ни разу такого не делал! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 08:30 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
Меню конечно для окна Где-нибудь в Open - changemenu(m_menu) Даже в респонсе работает. Но странно что pbm_dwnkey не отрабатывает ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 17:19 |
|
Как отловить нажатие клавиши Win в DW?
|
|||
---|---|---|---|
#18+
boogimanФилиппУ меня на событии pm_dwnkey , когда курсор горит в фокусе одного из полей, срабатывает на раз: Код: sql 1. 2. 3.
Попробовал не работает, у меня обычный тип dw - может быть у вас , как то другой тип или оции на ячейках стоят какие то хитрые? Абсолютно стандартное всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2011, 20:26 |
|
|
start [/forum/search_topic.php?author=Islaya&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 436ms |
total: | 598ms |
0 / 0 |