Форум » [x]Harbour » Как отличить клавиши » Ответить

Как отличить клавиши

PSP: к примеру, Ctrl-C от PageDown. С точки зрения Inkey() это - одно и тоже. :) И таких немало. В Клиппере тоже так. Можно как-нибудь?

Ответов - 8

fil: GetKeyState

PSP: Спасибо.

Pasha: PSP пишет: Можно как-нибудь? Да, можно. Для этого в makefile.bc в переменные CLIBFLAGS и HARBOURFLAGS надо добавить: -DHB_EXT_INKEY и пересобрать xHarbour Потеряется совместимость кодов клавиш с clipper, но коды будут различными. См. inkey.ch PS я так xHarbour и собираю.


PSP: Pasha пишет: и пересобрать xHarbour Спасибо, но у меня Harbour.

Pasha: PSP пишет: Спасибо, но у меня Harbour. Тогда, наверное, никак. Хотя, конечно, можно подменить в Harbour файл inkey.ch, и пересобрать его в режиме HB_EXT_INKEY. Надо только проследить, чтобы все коды, определенные в Harbour, присутствовали и в xHarbour. Если напрямую не указывать коды, а обращаться к кодам клавиш только через K_*, то должно сработать такое "нештатное" использование клавиатуры.

PSP: Pasha пишет: Хотя, конечно, можно подменить в Harbour файл inkey.ch, и пересобрать его в режиме HB_EXT_INKEY Нет ни одного файла в сборке Harbour с упоминанием HB_EXT_INKEY. Так что, увы... Ладно, будем использовать другие кнопки. :) Спасибо.

Pasha: PSP пишет: Нет ни одного файла в сборке Harbour с упоминанием HB_EXT_INKEY. Нет - и не надо. Зато в xHarbour есть. Я имел в виду подмену inkey.ch в Harbour аналогичным файлом из xHarbour. В xHarbour\include\inkey.ch в начале можно прямо указать: #define HB_EXT_INKEY

PSP: Провел я эксперимент. Результат = 0. Вместо CLIBFLAGS и HARBOURFLAGS использовал HB_USER_CFLAGS и HB_USER_PRGFLAGS. По-крайней мере судя по Changelog именно такое соответствие. Вобщем Харбор на HB_EXT_INKEY никак не отреагировал.



полная версия страницы