Показать сообщение отдельно
  #1  
Старый 27.09.2013, 09:58
valvl63 valvl63 вне форума
Прохожий
 
Регистрация: 26.12.2012
Сообщения: 30
Репутация: 10
По умолчанию

Привет.

Нужно вывести раскладку клавы на форму программы.
Вот код:

Код:
procedure TForm1.LangChange(var message: TMessage);
var
  BufName: array[0..KL_NAMELENGTH-1] of Char;
begin
  GetKeyboardLayoutName(@BufName);
  case Lo(StrToInt('$'+String(BufName))) of
  LANG_RUSSIAN  : Label1.Caption:='RL'; 
  LANG_ENGLISH  : Label1.Caption:='EN';

  else Label1.Caption:=' ';
  end;

end;

Что-то в моей проге с фаршем не работает.
А вот если делать прогу с чистого листа - работает.
Не могу понять, что я делаю не так.
На какие вопросы мне обращать внимание?
Подсобите пожалуйста.

Частично нашел причину.
Если прописываю Edit1.SetFocus, не работает вывод клавиатуры.
Даже если, потом, удаляю фокус.
Интересно, что там включается?

Почему не работает код если кидать на форму edit или
button и т. д. - вопрос открыт.
Конечно, немного попотевши, решил проблему для своей проги через таймер.
Ответить с цитированием