Преобразование горячей клавиши в CHotKeyCtrl из виртуального кода в строку и обратно - PullRequest
2 голосов
/ 04 апреля 2011

У меня есть CHotKeyCtrl, и я могу получить виртуальный код ключа и модификаторы из него. Я также могу вызвать CHotKeyCtrl::GetHotKeyName, чтобы получить строковое представление этой горячей клавиши - я могу показать эту строку пользователю и сохранить ее в своем XML-файле конфигурации. Но как преобразовать эту строку назад в код виртуального ключа и модификаторы? Я не хочу сохранять в XML только виртуальный код ключа и промежуточные символы в форме WORD (это не очень информативно).

1 Ответ

2 голосов
/ 04 апреля 2011

Насколько мне известно, нет встроенной поддержки для преобразования имени горячей клавиши в пару код виртуальной клавиши + модификаторы, главным образом потому, что GetHotKeyName () возвращает локализованный название. Это имя происходит от драйвера клавиатуры и будет варьироваться от одной установки Windows к другой.

Поскольку WM_SETHOTKEY принимает код виртуального ключа и его модификаторы, упакованные в WPARAM, вы можете построить это значение и сохранить его в настройках XML, чтобы избежать использования двух элементов / атрибутов. Вы также можете включить имя горячей клавиши для удобства чтения, но сохранение только этого имени не даст вам информацию, необходимую для отправки WM_SETHOTKEY впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...