Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.05.2009, 20:51
rith2 rith2 вне форума
Прохожий
 
Регистрация: 19.05.2009
Сообщения: 1
Репутация: 10
По умолчанию OleContainer и msword - сменить раскладку

Привет.

Проблема - не меняется раскладка клавы, после загрузки 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 , то раскладка меняется, но когда делаю его видимым, то пропадает панель инструментов ВОРДовская...

Вообще понять не могу что за напасть... гугл по этому поводу молчит

Помогите!

Последний раз редактировалось Admin, 20.05.2009 в 20:16.
Ответить с цитированием
  #2  
Старый 20.05.2009, 19:21
rith2 rith2 вне форума
Прохожий
 
Регистрация: 19.05.2009
Сообщения: 1
Репутация: 10
По умолчанию

Начиная с Делфи 2007 - моя проблема отсутствует. Исходный код у OleContainer в 7ом делфи и в 2007-2009 - одинаковый. Проблема в VCL..
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter