Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#46: 2006-07-15 23:41:35 ЛС | профиль | цитата
RedBall писал(а):
Если добавить if, то вроде нормально работает

Нормально, это как
Считается ли нормальным: Сей Default срабатывает только когда он в фокусе

У меня так.
А у вас
А на "чистом KOL"

Кстати, если не делиться информацией, нафига было топик начинать - не пойму...
карма: 9

0
Ответов: 131
Рейтинг: 0
#47: 2006-07-16 01:44:51 ЛС | профиль | цитата
Galkov, хотя бы по Enter срабатывает . А с фокусом проблема, похоже осталась.
Кстати, проверял этот стиль в Fasm и в C - тоже как-то не очень работает.

[size=-2]------ Добавлено в 01:44
Хотя, знаете, похоже фокус так и должен работать - попробуйте создать Edit, установите в нем фокус и проверьте срабатывание Enter - у меня кнопка всегда нажимается.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#48: 2006-07-16 01:56:08 ЛС | профиль | цитата
Я тоже пытался поймать мессагу по WM_COMMAND - дулю
Глядя в коды KOL-а, вижу, что делается это "ручками"

Похоже, что винда для этого "флага" только бордер и делает. А реакция - только в виндячих диалогах. Да и то, похоже, только как завершение диалога. Судя по описанию на WM_GETDLGCODE

А если "ручками", то нафиг мне эти приколы (бордер - вещь конечно нужная). У меня внедрен KeyPreview, и поэтому такая схема прекрасно работает: code_103
Это я к тому, что KeyPreview - по-перспективней будет. Ну, скажем, если говорить о направлении тудов в fasm...

[size=-2]------ Добавлено в 01:56
Ну да, а я по Enter для Edit жду совсем другого события...
карма: 9

0
файлы: 1code_103.txt [846B] [606]
Ответов: 2125
Рейтинг: 159
#49: 2006-07-16 12:00:00 ЛС | профиль | цитата
Насколько я понимаю,
реакция - только в виндячих диалогах
где-то Enter должен обрабатываться, вот от и обрабатывается либо в DefDlgProc (ищет кнопку с указанным стилем, и посылает сообщение WM_COMMAND c ID кнопки), либо, что больше выглядит на правду, в процедуре модального диалога, где-то около TranslateMessage, выполняя аналогичное действие.
карма: 1

0
Ответов: 131
Рейтинг: 0
#50: 2006-07-16 13:30:32 ЛС | профиль | цитата
Похоже, что винда для этого "флага" только бордер и делает. А реакция - только в виндячих диалогах.

Galkov, я же говорю что Enter срабатывает, если фокус находится на любом контроле, кроме кнопки. Откройте любой стандартный диалог и посмотрите на поведение кнопок - оно в точности такое же как у нас.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#51: 2006-07-16 13:54:45 ЛС | профиль | цитата
А я говорю, что в KOL это сделано "ручками"
Может и так как в системных диалогах.
Только как из этого следует, что это умно

CheckBox, естественно, это тоже кнопка
И если фокус на Memo - не срабатывает (что уже правильно)


В общем, объем внедренного интеллекта - не воодушевляет. Мягко говоря
А грубо - фигня все это ...
карма: 9

0
Ответов: 2125
Рейтинг: 159
#52: 2006-07-16 14:58:10 ЛС | профиль | цитата
я же говорю что Enter срабатывает, если фокус находится на любом контроле, кроме кнопки
Правильно, если фокус на кнопке, то она и должна нажиматься.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#53: 2006-07-16 15:24:40 ЛС | профиль | цитата
Да ни кто ни кому ничего не должен.
Просто кто-то сделал так.
И степень разумности этого "так" - вопрос.
И уж точно не догма. Для меня, по крайней мере.
карма: 9

0
53
Сообщение
...
Прикрепленные файлы
(файлы не залиты)