Показать сообщение отдельно
  #10  
Старый 29.06.2011, 18:23
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Цитата:
Сообщение от cadil
Хотелось бы сделать так, чтобы
Код:
Label1.Caption := 'Русский';
Label1.Caption := 'Английский';
менялись не только в активном, но и ПАССИВНОМ состоянии программы.
Спасибо!
Согласен, не работает этот способ для фонового окна. Пока тут проводил эксперементы доперло, что можно еще проще это делать, вообще без обработки сообщений:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
Var CurrentLayout: HKL;
begin
 CurrentLayout := GetKeyboardLayout(0);
 if CurrentLayout = Rus then Label1.Caption := 'Русский';
 if CurrentLayout = Eng then Label1.Caption := 'Английский';
end;
Но вот только это не решает изначальную задачу. Будучи фоновым окном, данный код перестает правильно работать, а вот таймер при этом исправно работает и в фоне.
А вот почему это происходит я что-то не догоняю.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием