|
|
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
На дерево метод KeyPress формы не распространяется, а в методе KeyPress дерева, значение 135 (Shift+F11) для keyascii не выполняется. Зато работает ON KEY LABEL SHIFT+F11 "процедура". Но если SHIFT+F11 долго держать, то возникает ошибка превышения nesting level вызова указанной процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 11:23 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
при выполении процедуры сначала сбрось ON KEY LABEL SHIFT+F11 а на выходе взад восстанови ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 11:29 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Hel!Riserпри выполении процедуры сначала сбрось ON KEY LABEL SHIFT+F11 а на выходе взад восстанови Не получается В главном модуле стоит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Все равно вылазит ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 11:40 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
У ActiveX компонент свои собственные ASCII-коды клавишь, отличные от кодов собственно среды FoxPro. В частности, Shift+F11 - это будет keycode = 122 Однако кроме всего прочего, крайне нежелательно делать вызов модальных форм из событий ActiveX-компонент. Это может привести к ряду глюков в работе ActiveX-компонент. В этом случае я делаю запуск модальных форм через одноразовый таймер, включение которого и происходит в событии ActiveX-компонента. В этом случае событие отрабатывает до конца и только после этого выполняется собственно событие таймера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 12:41 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Владимир М. В методе KeyPress дерева входные параметры LPARAMETERS keyascii,nShift Вставляю код IF keyascii = 122 messagebox("test") ENDIF И ничего не работает. Что я не так делаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:13 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
А если в KeyDown ? С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:22 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
135 1 Во первых нет в дереве KeyPress Есть KeyUp Вот там и пиши *** ActiveX Control Event *** LPARAMETERS keycode, shift *WAIT WINDOW keycode *WAIT WINDOW shift DO CASE CASE keycode=122 and shift=1 thisform.KeyPress(135,1) А в KeyPress формы LPARAMETERS nKeyCode, nShiftAltCtrl *WAIT WINDOW ("nKeyCode="+STR(nKeyCode)+"nShiftAltCtrl="+STR(nShiftAltCtrl)) DO CASE CASE nKeyCode=135 AND nShiftAltCtrl=1 WAIT WINDOW "Усе получилось" ENDCASE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:28 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Прошу извинений, есть такой метод в дерево, но пользовать нужно тот, который я описал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:30 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Aleksey-KА если в KeyDown ? С уважением, Алексей Ага, получилось. Странно то, что в KeyPress работают ESC (27) и Enter (13), а 122 и 135 не хотят. Зато в KeyDown 122 работает. Вот такой вот актив-икс :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:31 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Вот блин, не все так просто оказалось. У меня в KeyDown функция CHR(keycode) дает неправильные значения. А использовать ее мне жизненно необходимо. А в KeyPress CHR(keyascii) работает правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:38 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Так не надо в методах дерева делать обработку! В событии KeyUp сделай вызов обычного метода (лучше, своего собственного), куда в качестве параметра и передай нужные коды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:50 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
ВладимирМТак не надо в методах дерева делать обработку! В событии KeyUp сделай вызов обычного метода (лучше, своего собственного), куда в качестве параметра и передай нужные коды. Не пойдет. Смысл в том, что у меня реализован поиск в дереве следующим образом. Юзер стоит на какой-либо ноде дерева и начинает с клавиатуры вводить текст для поиска. То, что вводит юзер автоматически выводится в окно поиска на панели инструментов через функцию CHR(keyascii). Причем буквы могут быть как русскими, так и английскими. Все это нормально работает в KeyPress, где корректно различаются и русские и английские буквы. Если все это перенести в KeyDown, чтобы заработал SHIFT+F11, то CHR(keycode) возвращает некорректные с точки зрения CHR() значения. Более того, для русских и английских букв, значение keycode одинаковое. Вот в этом то и проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 13:58 |
|
||
|
Как в дереве нажать SHIFT+F11 ?
|
|||
|---|---|---|---|
|
#18+
Все, решил проблему. Там где нужен keyascii, обработку оставил в KeyPress, а обработку SHIFT+F11 вынес в KeyUp, который выполняется после KeyPress. Ибо если SHIFT+F11 поместить в KeyDown, то он блокирует выполнение кода в KeyPress и тем самым не дает ничего нажимать кроме SHIFT+F11. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2006, 14:06 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33747756&tid=1591602]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 416ms |

| 0 / 0 |
