+ Ответить в теме
Показано с 1 по 18 из 18
  1. #1
    Пользователь
    Регистрация
    12.08.2011
    Сообщений
    127

    По нажатию Enter чтобы нажималась кнопка на форме

    Искал на фоурме но так и не нашел, как сделать чтоб если я на клавиатуре нажимаю клавишу ентер, то кнопка нажимается на форме определенная, а то мышкой все время тянуться к кнопке не очень удобно.

  2. #2

    По нажатию Enter чтобы нажималась кнопка на форме

    PHP код:
    if ($key == 13){ myFunc1(); }
    Вот так ето на форму нажатие клавиши .В myFunc1 будет выполнять нужное действие или ищи на форуме есть и другие варианты.

  3. #3
    Мастер Аватар для kazer_xxx
    Регистрация
    08.01.2011
    Адрес
    Копейск
    Сообщений
    1,148
    Цитата Сообщение от вова77 Посмотреть сообщение
    .В myFunc1 будет выполнять нужное действие
    Не обязательно вставлять в функцию. Можно сразу выполнять нужный код.
    PHP код:
     if(ord($key) ==  13 ){/*здесь ваш код*/
    Как хочу быть красненьким и с надписью "Админ"

  4. #4
    if ($key == 13){c("button1")->onClick(); } можно и без функции.
    Последний раз редактировалось вова77; 10.10.2011 в 10:59.

  5. #5
    Мастер Аватар для kazer_xxx
    Регистрация
    08.01.2011
    Адрес
    Копейск
    Сообщений
    1,148
    Цитата Сообщение от вова77 Посмотреть сообщение
    if ($key == 13){c("button1")->doClick(); } можно и без функции.
    Блин, ну ты дурак? Давайте будем создавать десятки кнопок и взорвём себе мозг.
    stas3k, не слушай ты его Да, можно и ord ожно и просто $key, но при ord нажатая кнопка ВСЕГДА возвращается в цифрах. Делай так :
    PHP код:
    if ($key == 13){
    echo 
    "lol";
    /* и ещё кучи твоего кода */

    или так
    PHP код:
    if (ord($key) == 13){
    echo 
    "lol";
    /* и ещё кучи твоего кода */

    Как хочу быть красненьким и с надписью "Админ"

  6. #6
    Сам такой читай 1 пост,написал то что надо.

  7. #7
    Мастер Аватар для kazer_xxx
    Регистрация
    08.01.2011
    Адрес
    Копейск
    Сообщений
    1,148
    Ты так написал, что новичкам кажется, что надо ВСЁ засовывать в функции, даже сами функции.
    Как хочу быть красненьким и с надписью "Админ"

  8. #8
    Можно с функцией или без неё.Сечас тоже без функций использую а тогда использовал с функцией так было и проще и удобние.Каждый ищет свой вариант.

  9. #9
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Ребят, помойму товарисчу нужна "горячая кнопка"
    Если я правильно понял его задачу, он хочет "где бы не тыкнул энтер" чтоб нажалась одна и таже определённая кнопка. Ваш код будет работать только в случае если у этой кнопки будет фокус. А ему надо вне зависимости от того какой элемент имеет фокус, чтоб нажалась нужная кнопка. Так что тут без горячих кнопок никак.

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  10. #10
    Пользователь
    Регистрация
    12.08.2011
    Сообщений
    127
    Цитата Сообщение от vGhost Посмотреть сообщение
    Ребят, помойму товарисчу нужна "горячая кнопка"
    Если я правильно понял его задачу, он хочет "где бы не тыкнул энтер" чтоб нажалась одна и таже определённая кнопка. Ваш код будет работать только в случае если у этой кнопки будет фокус. А ему надо вне зависимости от того какой элемент имеет фокус, чтоб нажалась нужная кнопка. Так что тут без горячих кнопок никак.
    дак что мне писать? какой код?

  11. #11

    По нажатию Enter чтобы нажималась кнопка на форме

    PHP код:
    if ($key == 13){
    echo "lol";
    /* и ещё кучи твоего кода */
    }
    или так
    PHP код:
    if (ord($key) == 13){
    echo "lol";
    /* и ещё кучи твоего кода */
    }
    if ($key == 13){c("button1")->onClick(); } можно и без функции. Проверенно эти коды и используй.

  12. #12
    Пользователь
    Регистрация
    12.08.2011
    Сообщений
    127
    Цитата Сообщение от вова77 Посмотреть сообщение
    PHP код:
    if ($key == 13){
    echo "lol";
    /* и ещё кучи твоего кода */
    }
    или так
    PHP код:
    if (ord($key) == 13){
    echo "lol";
    /* и ещё кучи твоего кода */
    }
    if ($key == 13){c("button1")->onClick(); } можно и без функции. Проверенно эти коды и используй.
    Не работает ( Запихнул этот код в событие нажатия клавиши формы...

  13. #13
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Цитата Сообщение от stas3k Посмотреть сообщение
    Не работает ( Запихнул этот код в событие нажатия клавиши формы...
    И не будет! До тех пор пока эта кнопка не получит фокус ввода. А это аналогично нажатию по ней мышки.
    Как вариант можно этот код запихать во все компоненты на форме, но это не есть решение, это костыли называется.

    Цитата Сообщение от stas3k Посмотреть сообщение
    дак что мне писать? какой код?
    Внимание, диктую первый код:
    http://google.com/
    В строке поиска вбить следующий, второй, код:
    горячие кнопки site:community.develstudio.ru
    и нажать поиск!
    Последний раз редактировалось vGhost; 10.10.2011 в 13:24.

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  14. #14
    Да если не в фокусе не сработает,можно и горячие клавиши использвать.Тут тоже писал http://community.develstudio.ru/show...илка/page2 P.S.вначале пробовал с одной кнопкой.
    Последний раз редактировалось вова77; 10.10.2011 в 14:07.

  15. #15
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    ОФФТОП:
    Цитата Сообщение от вова77 Посмотреть сообщение
    можно и горячие клавиши использвать.
    Не надоело мои ответы за мной повторять?

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  16. #16
    ОФФТОП: Я не повторяю при таких похоих темах я обычно пишу про горячие клавиши но надоело повторять по этому пишу ищите на форуме.P.S.а горячие клавиши сечас не использую и не повторяю смотри тему http://community.develstudio.ru/show...илка/page2 .Предлогаю ранее используемый вариант,который раньше педлогал.

  17. #17
    Цитата Сообщение от vGhost Посмотреть сообщение
    Сообщение от stas3k
    Не работает ( Запихнул этот код в событие нажатия клавиши формы...
    Цитата Сообщение от vGhost Посмотреть сообщение
    И не будет! До тех пор пока эта кнопка не получит фокус ввода. А это аналогично нажатию по ней мышки.
    Тоже мучаюсь с данной проблемой.
    на JS такое делается без проблем.
    если в DS оно и не должно работать при запихивании в событие нажатия клавиш ФОРМЫ, тогда объясните зачем вообще у формы доступны события нажатия клавиш, отпускания клавиш ?
    я понимаю что вопрос ламерский, но все же хочется получить на него внятный ответ, а не
    Цитата Сообщение от vGhost Посмотреть сообщение
    Внимание, диктую первый код:
    http://google.com/
    В строке поиска вбить следующий, второй, код:
    горячие кнопки site:community.develstudio.ru
    и нажать поиск!
    Собственно, задача: есть программа, - аналог 1с. нужно привязать запуск функций на нажатие 1 или нескольких клавиш.
    Понимаю что надо копать в сторону хоткэй, но ни echo $key ни echo ord($key) ни что либо подобное не работает, если находится в событиях "нажатия клавиш" и ему подобный ФОРМЫ. (если в текстовом поле - все ок, но этот вариант не катит).

    п.с. дабы не тратить ни Ваше ни мое время, прошу не писать ответы типа "гугл в помощ", и тому подобные., это - пройденный этап.

  18. #18
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    Так устроена винда, она посылает сообщения нажатия клавиши тем компонентам, которые имеют на данный момент фокус. В 3 версии были мысли, чтобы можно было бы как-то глобально задать обработчик события клавиш сразу для всех компонентов, возможно такое появится.

    Не у всех компонентов есть фокус. Например speedкнопка это кнопка без фокуса. Также компоненты без фокуса никогда не могут быть физически находиться выше других с фокусом. Это тоже особенность WinApi, если я расскажу как это работает более подробно, то все равно никто не поймет.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения