Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   OleContainer + HotkeyManager (https://www.clubdelphi.com/foros/showthread.php?t=27870)

Ronnie 02-12-2005 12:17:07

OleContainer + HotkeyManager
 
Hola a tod@s. Acabo de registrarme en vuestro foro y este es mi primer mensaje. Hace tiempo que vengo siguiendo vuestros mensajes, los que he encontrado de mucha utilidad.
Bueno, el caso es que no logro encontrar entre ellos la solución al problema que tengo planteado y que os expongo, a ver si alguien me echa una mano...

Tengo una aplicación MDI, cuyos ChildForms contienen un componente OleContainer que enlaza con Word. El caso es que el ChildForm crea una ventana con datos de la que es propietario; ventana que activo bien mediante un boton o mediante la pulsación de una tecla (digamos que SPACE) asociada a ese botón. Pues bien, antes de que abra ningún documento Word, es decir, con el OleContainer vacío, la pulsación de la tecla SPACE funciona como debe, es decir, muestra la ventana de datos de la que es padre (cada ventana de datos tiene un contenido distinto). El problema viene cuando se abre el documento Word, que recibe el foco deshabilitando la pulsación de la citada tecla. Para tratar se salvar el problema, hago uso del componente HotKeyManager, que aunque cumple su cometido, siempre muestra la misma ventana de datos, es decir, no identifica al OleContainer propietario.
Entre las muchas soluciones que he probado están:

procedure THija.HotKeyManagerHotKeyPressed(HotKey: Cardinal; Index: Word);
begin
PostMessage(self.OleContainer.Handle, WM_SYSKEYDOWN, VK_SPACE, 0);
end;

procedure THija.HotKeyManagerHotKeyPressed(HotKey: Cardinal; Index: Word);
begin
self.OleContainer.Perform(VK_SPACE,0,0);
end;

procedure THija.HotKeyManagerHotKeyPressed(HotKey: Cardinal; Index: Word);
begin
ToolButtonMostrarDatosClick;
end;

...pero ninguna funciona. En fin, que lo que quiero es que se ejecute determinado procedimiento de la ventana contenedora del documento Word activo; ventana creada a partir de un ChildForm.
No sé si me he explicado bien, pero ¿podría ayudarme alguien?
Un saludo a tod@s.


La franja horaria es GMT +2. Ahora son las 02:12:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi