Привет.
Проблема - не меняется раскладка клавы, после загрузки MS Word (или другого MS Office приложения в OleContainer).
a.OleContainer1.CreateObjectFromFile('G:\Doc1.doc' ,false);
a.OleContainer1.DoVerb(ovSHow);
Как только делаю DoVerb и в контейнере появляется открытый документ, то раскладка не меняется стандартной виндовой комбинацией (alt+shift или както по другому...)
Пробовал регистрировать в приложении свою собственную комбу клавиш (hotkey):
Код:
procedure TForm1.WM_HotKeyHandler (var Message: TMessage);
var
idHotKey: integer;
fuModifiers: word;
uVirtKey: word;
begin
idHotkey:= Message.wParam;
fuModifiers:= LOWORD(Message.lParam);
uVirtKey:= HIWORD(Message.lParam);
if (fuModifiers = mod_alt) and (uVirtKey = VK_RIGHT) then
begin
caption:='Alt- -> нажато';
ActivateKeyboardLayout(0,HKL_NEXT);
end;
inherited;
end;
Admin: Пользуемся тегами!
и вызов:
keyid:=GlobalAddAtom('My Hotkey');
RegisterHotKey(handle,keyid,MOD_ALT,VK_RIGHT);
Комба срабатывает, но раскладка не меняется
Пробовал перехватывать нажатие клавиш (через hook) - срабатывает, но опять раскладка не хочет меняться.
Если например делать OleContainer.Visible := False , то раскладка меняется, но когда делаю его видимым, то пропадает панель инструментов ВОРДовская...
Вообще понять не могу что за напасть... гугл по этому поводу молчит
Помогите!