Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Язык ввода, Язык ввода 
:(
    Опции темы
Artemon
Дата 3.2.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 7
Всего: 20



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

Но как-то странно это работает........

При проходе дебагером - вижу (на трее) стоит английский язык, а ф-ия говорит что русский.

А иногда наооборот.

В чем дело?

Код


  void __fastcall TFormMain::ApplicationEvents1Message(tagMSG &Msg,
                             bool &Handled)
{

  switch( Msg.message )
        {
        case WM_KEYDOWN:
                       if( (BYTE)(Msg.wParam) == 16 )
                         {
                         char mas[KL_NAMELENGTH];
                         ZeroMemory(mas, sizeof(mas)/sizeof(char));
                         GetKeyboardLayoutName( mas );

                          if( strcmp(mas, "00000419") == 0 )
                            {
                            FormSearchExpert->RBRu->Checked = true;
                            }
                            else
                          if( strcmp(mas, "00000409") == 0 )
                            {
                            FormSearchExpert->RBEn->Checked = true;
                            }
                         }
        }
}




--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
_hunter
Дата 3.2.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



во-первых: интересно ты массив обнуляеш...
во-вторых: лучше GetKeyboardLayout() юзай...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Artemon
Дата 4.2.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 7
Всего: 20



А яем это не нравится моё обнуление?


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
_hunter
Дата 6.2.2006, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



тем, что sizeof(mas) ( а точнее sizeof(любой_массив) ) всегда == 4 ( на IA32 ) поэтому ты обнуляеш только первые четыре байта.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Artemon
Дата 6.2.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 7
Всего: 20



__Hunter, а вот тут я не согласен.
если массив константного размера - то sizeof - вернет размер массива.

Это сообщение отредактировал(а) Artemon - 6.2.2006, 16:08


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
_hunter
Дата 6.2.2006, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



хм... действительно...

+ только сейчас заметил. у тебя не совпадают показания программы с реальными в момент отладки?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Artemon
Дата 6.2.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 7
Всего: 20



__Hunter, ты мне в форуме по WinApi, посоветовал, ловить сообщение, которое приходит после смены языка - так вот - ОНО НЕ ПРИХОДИТ ВООБЩЕ.


Удалось поймать сообщение которое приходит до смены языка.


P.S.
Не помню название ни того ни другого smile
Добавлено @ 18:20
А что касается приведенног в данном топике кода - так ОН МОРАЛЬНО УСТАРЕЛ.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.