Показать сообщение отдельно
  #5  
Старый 20.05.2009, 22:51
Аватар для SCrat.ORS
SCrat.ORS SCrat.ORS вне форума
Активный
 
Регистрация: 20.02.2007
Адрес: Мой адрес не дом и не улица, мой адрес 0x7С00
Сообщения: 208
Версия Delphi: 2006
Репутация: 884
По умолчанию

А вот ещё вопрос.
Пищу индикатор языка клавиатуры (Как в Windows 9X) чистый WinAPI (windows, shellapi), Модушь Graphics ! неиспользую ! для экономии обьёма ехе - файла.
Висит иконка в трее с изображением языка ввода, переключаешь раскладку (Системно: Alt+Shift, Ctrl+Shift), иконка перерисовывается. В разных окнах - раскладка разная (Типа в Word'e - пишем по-русски, а в Блокноте - по-английски,.. ) вообщем это все работает, определяет раскладку в разных окнах нормально.
Кликаем по иконке левой кнопкой мыши - вылезает менюха с доступными языками (на текущем стоит Чек), вообщем все как положено. Но вот проблема, когда кликаешь по иконке в трее левой кнопкой, Фокус текущего окна (того на котором хотим сменить язык) теряется, меняем раскладку (Выбираем на выпавшей менюхе) , в итоге раскладка меняется на иконке (на её Хендле), а окно нужное - без фокуса, поэтому осталось не затронутым.

Вот собсна вопросы:
1. Как сделать PopupMenu так, чтоб при его вызове, текушее окно не теряло фокуса?
2. Как убрать меню (оно не уберается пока по нему не кликнешь), если кликаешь не по нему?
Ответить с цитированием